カイワレの大冒険 Third

技術的なことや他愛もないことをたまに書いてます

プログラミング-PHP

facebook-php-ads-sdkを使って、Instagramに対応したクリエイティブと広告セットを作る

Bussiness Managerなどで、Instagramアカウントと、対象アプリの連携はしといてください。 まず、InstagramアカウントのIDが必要なので、それを把握する。 Graph API Explorerにアクセス developers.facebook.com Get Tokenで、 Get User Access Token をえ…

PHP(xdebug)+IntelliJでブレークポイント置いてるのに、そこで止まってくれないとき

xdebugの設定もちゃんとして、動いているっぽいのに、止まらずスルーされてしまう場合。 phpは5.6.21、xdebugは2.4.0、IntelliJは以下。 IntelliJ IDEA 2016.1.3 Build #IU-145.1617, built on June 3, 2016 JRE: 1.8.0_76-release-b198 x86_64 JVM: OpenJDK…

phpenvして、composerして、php-cs-fixerして。

まずphpenvでphpをインストールする環境を作る。 $ curl -L http://git.io/phpenv-installer | bash .bashrc とか .zshrc でパスが通るようにする。 if [ -d "${HOME}"/.phpenv ]; then export PATH="$HOME/.phpenv/bin:$PATH" eval "$(phpenv init -)" fi …

facebook-php-ads-sdkで "User XXXXXXXX can not update audience YYYYYYY" 出たときの対応

audienceのIDがYYYYYYYとわかっているので、Graph Api Explorerにアクセス。 developers.facebook.com FQL Queryで、GET → /v2.6/YYYYYYY としてクエリを作成。 実行して、左カラムから、ID や NAME を指定して、返ってくるJSONを見る。 これでターゲットの…

レビューで、その無名関数ほんと必要なの?という指摘を受けたことはありますか

「その無名関数本当に必要なの?」という指摘。 僕はこの指摘をもらって至極まっとうだと思ったのですが、みなさまはいかがでしょうか。 ざっくりですが、こんな感じで、値のうちマッチしたものだけを抽出し処理をするような array_filter() と array_map()…

facebook-php-ads-sdkのデバッグの際によく使うリンク集

最近 facebook-php-ads-sdk を触ることが多いので、メモがてら残しておきます。 github.com レファレンス 読みましょう。 developers.facebook.com 広告周りのドキュメント 読みましょう。 developers.facebook.com Graph API Explorer SDKを使わず、APIに直…

var_dump()で省略されないように、全部出力する

眺めのSQLを var_dump()したら、以下の様な感じになった。 string(966) "SELECT ここに長い文字列 hoge"... ... って置き変わってる・・・ ので、 var_dump() の前に以下を入れる。 ini_set('xdebug.var_display_max_children', -1); ini_set('xdebug.var_di…

すぐループして処理しようという発想はやめよう!計算量考えることのススメ

配列とかにあるデータを一通り処理したいときはforとかforeachが便利なのですが、計算量を考えて、できるだけ使わないようにするのが大事という話。 $datas['key01'] = 1; $datas['key02'] = 1; $datas['key03'] = 1; foreach ($datas as $key => $value) { …

連続する二つの処理はファイルを分けるべきか否か

Aを作ったのち、Aのデータ(IDなど)を使ってBを生成するコマンドがあったとする。 そのとき、 create_a_command.php と create_b_command.php という二つのファイルを作るべきか、 create_a_and_b_command.php というのを作るべきかという問題。 このとき、サ…

PHP: クラス内のメソッドを使って、array_map()したい

必要があったので。 arr); } } $sample = new Sample(); var_dump($sample->wrapper_str_upper()); arr…

PHP: 配列の値を特定の条件で抽出する

ちょっとやる必要があったので。 array_filter()の第2引数に、条件を満たさせる無名関数作ればおけ。 0, 'key1'=> 1, 'key2'=> 2, 'key3'=> 3 ); $filtered = array_filter($arr, function($elem) { return $elem % 2 === 0; }); var_dump($filtered); arra…

PHPでこんな情報が表示されるって知ってますか?

Linux Mintでapt-get upgrade, dist-upgradeが終わらないので、一つ記事でも。今の時代、PHPが実行可能なサーバは多いと思いますが、そんなサーバを運用している方へ、こんな情報表示されちゃいますよ、という話し。セキュリティにも関わってくるので、知っ…

ソケット通信でHTTP/1.1を使う際にまず押さえておくこと

ソケット通信というのは非常に便利である。HTTPヘッダーを好きなように書いて、検証もできるし、リクエストも飛ばすことができる。しかしながら、HTTPのルールに従わず、間違ったリクエストを送ると、送られたサーバが急に応答不能な状況に陥りかねないので…

basic認証をPHPで通す

.htaccessファイルを置いて、basic認証ってのはよくやるし、ブラウザでユーザ名とパスワード入れるってのもよくやるんだけど、 プログラム側でやろうとしたら、やったことなかったし、あまりやりかた載ってなかったので、備忘録。とりあえず、送り方は、 Aut…