facebook php SDK - composerでFacebook API v4の導入に触れましたが、今日はその後のステップとしてSDKを利用してプロフィールを取得する例を示します。 本当はフレンドリストを取得してあれこれしたいなと思っていたのですがあまり情報がなく、挫折したのでとりあえず出来たところまで公開。 session_start(); //ここは各phpファイルをおいた場所を参照 require_once( '../vendor/facebook/php-sdk-v4/src/Facebook/FacebookSession.php' ); require_once( '../vendor/facebook/php-sdk-v4/src/Facebook/FacebookRedirectLoginHelper.php' ); require_once( '../vendor
I downloaded the new Facebook SDK 4.0.0, hoping to have a quick sample running. Instead, I had to scratch my head for nearly 1 hour before having a working sample. Not really a great experience (‘thanks’ Facebook for the great getting started document)! Now at least I got it working, so I’m sharing some information below, as always, hoping to save you the time I just lost J. Assumptions: You have
何か困った症状に遭遇しPHP.iniの設定を変更することはよくあることでしょう。 共用レンタルサーバーなどでも、PHP.iniファイルを設置して サーバー上の値を上書きして利用することを認めているところもあります。 もし認められていない場合であっても、.htaccessの利用を認めているようであれば、 PHPの設定を変更することができます。 はじめに PHPの設定といえばPHP.iniと決めつけていませんか。 検索してざっと出てくるのは大抵がPHP.iniに対する設定です。 しかしPHP.iniの設定ではApache全体でPHPがiniファイルの設定で利用されます。 ある機能だけ制限を緩めて利用したいような場合には、 PHP.iniファイルでは実現することができません。 PHP.ini設定をApacheで行う方法 PHP.iniファイルの設定をApache側で行う方法は公式に公開されていま
php.iniの設定を.htaccessで変更する方法。 設定可能な項目 「.htaccess」ファイルで設定出来る項目は、PHPマニュアル(php.ini ディレクティブ)において 「変更の可否」が「PHP_INI_PERDIR」または「PHP_INI_ALL」と指定されているものです。 .htaccessで変更できる項目を調べるスクリプト <?php print_r('.htaccessで変更できる項目は:<br>'); foreach (ini_get_all() as $name => $value) { if ($value['access'] & 2) { print_r($name . '<br>'); } } ?> 参考:ini_set()でどの設定を変えることが出来るか調べる 文法 .htaccessに記述する形式 php_value php_value 項目名 値 セッ
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
ということで、今回はPHPに送信されたデータの送信元の整合性をチェックする。 ワンタイムトークンの生成とチェック用の関数を作りました。 作ったやつをそのまま使うわけじゃないですが、一応作ったやつをあげときます。 CSRF対策としてフォームの整合性をチェックする時に使用しました。 半券の元データはセッションで管理しています。 token.php <? // ***************************************** // ワンタイムトークンの生成 // ***************************************** function create_token(){ $ipad = getenv('REMOTE_ADDR'); $time = time(); $rand = mt_rand(); // 値をハッシュ化 $ipad = hash( 's
$_SERVER変数について PHPでは、サーバに関する環境変数は $_SERVER グローバル変数(どこからでもアクセス出来る変数)に格納されます。 非常に便利なのですが、よくどの変数がどれだっけ?と忘れてしまうので、備忘録兼ねて書いておくことにします。 例には、実際にアクセスがあった時点の$_SERVER変数値を掲載していますので、ご自身のアクセス情報なども確認することができます。
文字列を比較する(strcmp()、strncmp()、strncasecmp()、strcasecmp()、strnatcmp()、strnatcasecmp()) スポンサードリンク 文字列を比較するには、strcmp()、strncmp()、strncasecmp()、strcasecmp()、strnatcmp()、strnatcasecmp()関数を使います。
だいたいはTwitterと一緒だと思いますが細かい部分で違いがあるのでそれも含めてメモ。PHPの例がHatena Developer Centerになかったので、勉強したことをチョートリアルっぽくまとめ。 API利用までの流れ アプリケーション登録でconsumer keyとconsumer secret取得 Request tokenの取得とscopeの指定 認証用URL取得とリダイレクト ユーザから承認の許可を求める Access token取得 OAuth対応のAPIを使ってはてなといちゃいちゃする これでクリスマスははてなと一緒に楽しく過ごせますね! OAuth認証の準備 PHPではHTTP_OAuthっていうPEARのライブラリを使うと簡単。他のライブラリとも依存関係にあるのでそれも使います。 http://pear.php.net/package/HTTP_OAuth http
interfaceとabstractの特徴と違いを捉える 今回もPHP話。(正しくないことは @ahomu に教えてもらえると助かりマス) PHP5では、interface(インターフェイスの宣言)やabstract(抽象化)が使用できます。これらの説明を読むと、一見して同じような役割を持っているように見えます。 それは両者とも、メソッドの実装を「インターフェイスを実装したクラス」や、「抽象クラスを継承したクラス」に強制的に任せる機能を持っているからです。これらの挙動は、外見上とても似ています。少なくとも自分はそこで引っかかりました。 interfaceもabstractも便利なオブジェクト指向機能ですが、使い分けができないと、もったいないです。ありがちな話だと、いつまでもabstract一辺倒で、interfaceの出番が見つからない、とか。 今回はそのへんを自分の理解を整理しつつ書き留
by @dekokun on 2013/12/14 15:33 Tagged as: PHP. どうも、PHP Advent Calendar 2013の14日目の記事です。 昨日は@ockeghemのPHPとセキュリティの解説書12種類を読んでSQLエスケープの解説状況を調べてみたでしたね。 最近、仕事を一緒にし始めた後輩がPHPに慣れておらず、PHPのタイプヒンティングのことを知らなかったので(そして、さっき一緒にお酒を飲んだ別の後輩もタイプヒンティングを知らなかったので)、彼らに向けて、タイプヒンティングとはなにか、なぜタイプヒンティングを使うのかを解説する記事となります。 PHPのことをよく知っている皆様におかれましては特に得るものはないお話なのかなと思います。ご了承ください。なお、下記のような流れを経て、このブログの内容は当初の予定から変遷しました。 「returnとrequir
久しぶりの更新です。最近、修行だと思って色々な本を読み漁っているのですが、やっとこさPHPのinterfaceが分かるようになってきた感じがあるので、まとめてみます。 インターフェースは、クラスから"ユーザー定義型"の能力のみを分離した言語機構です。PHPのそれはJavaのinterfaceのパクリです。 "ユーザー定義型"という単語を使いました。動的型付き言語のことを「型のない言語」と言う人がたまにいるんですが、とんでもねー間違いです。PHPにだって型はあります。変数が型を持たず、値が型を持っているというだけの話です。 interfaceを宣言する文法はクラスとよく似ていますが、キーワードclassの代わりにキーワードinterfaceを使います。中身は定義のないメソッドの宣言を書きます。なお、定数も含めることが可能です。 <?php interface FooInterface { c
<html> <head><title>PHP TEST</title></head> <body> <?php $var1 = 'test'; if (isset($var1)){ print('変数$var1は存在し、値は'.$var1.'です<br><br>'); }else{ print('変数$var1は存在しないかNULLです<br><br>'); } $var2 = NULL; if (isset($var2)){ print('変数$var2は存在し、値は'.$var2.'です<br><br>'); }else{ print('変数$var2は存在しないかNULLです<br><br>'); } if (isset($var3)){ print('変数$var3は存在し、値は'.$var3.'です<br><br>'); }else{ print('変数$var3は存在しないか
isset(), is_null(), empty() の違い 以下、比較してみた表 is_null()!empty()isset()empty() $x = ""FALSEFALSETRUETRUE $x = "0"FALSEFALSETRUETRUE $x = 0FALSEFALSETRUETRUE $x = 1FALSETRUETRUEFALSE $x = NULLTRUEFALSEFALSETRUE $x = FALSEFALSEFALSETRUETRUE $x = TRUEFALSETRUETRUEFALSE $x = array()FALSEFALSETRUETRUE 未定義 $xTRUEFALSEFALSETRUE で、未定義 $x と is_null() の組み合わせのみ Notice エラーが出る。 また if($x) と直接変数を突っ込んだ場合の動作は !empty と
ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ
A humble HTTP request library. Simplify how you interact with other sites and leave your worries behind. WpOrg\Requests\Requests::get('https://api.github.com/', array('Accept' => 'application/json')); Never touch cURL again. Download Now Version v2.0.12 Previous Versions Requests for PHP Requests is a HTTP library written in PHP, for human beings. It is roughly based on the API from the excellent
今年の春辺りにようやくPHP5.3がバージョン別シェアの首位に踊りでたそうで、そろそろPHP5.3移行で導入された機能も本格的に取り入れ頃かな?と考えてる人も多いはず。ということで名前空間。 名前空間についてはphp.netのオンラインマニュアルで結構分かりやすくまとめられているのですが、分量がそれなりに多いのでそれを整理・要約してみます。 そもそも名前空間とはなんぞ? 名前空間とは広義において項目をカプセル化する抽象的な概念を指します。PHP: 名前空間の概要 – Manualでは たとえば、たいていの OS はディレクトリでファイルをグループ化します。 この場合、ディレクトリがその中のファイルの名前空間として機能しています。 具体的に言うと、foo.txt というファイルは /home/greg と /home/other の両方に存在することが可能ですが、それらふたつの foo.tx
AmazonのREST APIを使うための準備 Amazonには指定のURLにリクエストを飛ばすことで、商品データを取得できるサービスがある。 このAPIはProduct Advertising APIといい、Amazonの取扱商品の検索や購入、商品情報の参照などの機能をWebサイトから利用することができるようになる。 Product Advertising APIを利用するには申し込みが必要で、それは以下のURLから申し込むことができる。 https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html 上記のURLから ・「アカウントを作成」を選び必要な情報を入力する。 ・次に、「Manage Your Account」を選択する。 ・アクセスキー情報の「こちらのリンクから、以下の処理が可能です:」をクリック。 「アク
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く