画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

PHP

PHPカンファレンス2015で発表してきた

PHP

phpcon.php.gr.jp 発表したスライドはこちら 10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話 from Masataka Kono www.slideshare.net ここ最近ずっと取り組んだものをまとめて発表…

第93回PHP勉強会で「LaravelのEloquentだけ入れた話」というタイトルで発表しました

PHP

phpstudy.doorkeeper.jp LTの5分枠で発表してきました。 Laravelのeloquent だけ入れた話 from Masataka Kono www.slideshare.net PHP勉強会、ビール飲みながら、全員が短い自己紹介をやった後、20分の発表があって、ビール飲んでしばらく懇親した後にLT…

Laravel5.1でphpunitで使うDBと開発で使うDBを分ける方法

PHP

Laravel5.1でphpunitで使うDBと開発で使うDBを分ける方法どうするのがいいのかー ここでどうすればいいのかー。と思ってて、冷静に考えると、Database Connectionsをわざわざ追加する必要もなかった。 やり方はこうだ。 1. phpunit.xmlに環境変数のDB_DATABA…

Laravel5.1でphpunitで使うDBと開発で使うDBを分ける方法どうするのがいいのかー

PHP

いい感じの方法がフレームワークで提供されてるのかな?と思ったけど、そうでもなさそうだった。 https://laracasts.com/discuss/channels/general-discussion/how-to-migrate-a-testing-database-in-laravel-5 https://laracasts.com/discuss/channels/test…

PHPのタイプヒンティング

PHP

久しぶりタイプヒンティングについてぐぐってみたら、 http://php.net/manual/ja/language.oop5.typehinting.php このドキュメントは 関数のページ に移動しました。 http://php.net/manual/ja/functions.arguments.php#functions.arguments.type-declaratio…

Laravel5でdingo/apiを使おうとしたらTarget [Dingo\Api\Contract\Routing\Adapter] is not instantiable.

PHP

Laravelでapiを作ろうとしていて、api作るのによさげなライブラリないかなぁと探していたら、見つけた。 https://github.com/dingo/api インストール方法や設定方法などは以下に書いてある https://github.com/dingo/api/wiki 見ながらやっていったけど、 ht…

laravelを起動するところまでちょっと使ってみる

PHP

http://laravel.com/docs/5.1#installation この辺に普通に書いてあるので上からやるだけ。 php phpbrewでphpの最新版をインストールした。 phpbrew install 5.6.11 Server Requirementsにもうちょっといろいろ書いてあるが、表示させるだけだったらこれだけ…

第91回 PHP勉強会@東京に参加した。

PHP

普段ぺちぱーでペチペチやってる身ながらも、PHPの勉強会とかには一切行ったことなかったので参加してみた。 https://phpstudy.doorkeeper.jp/events/26830 最初にビールで乾杯してから、参加者全員が自己紹介するパターンが斬新だった。 あとは、5分くらい…

Eloquent単体で簡単に導入するライブラリを作った

PHP

Laravelは使えないけど、Eloquentは使いたいという人向けに、とりあえず、簡単に入れられるやつを作った。 どういうものか試してみる時にも便利なはず。 mapyo/eloqunet-onlygithub.com 使い方 READMEに全て書いてありますw がもう一度書きます。 install co…

symfony系のライブラリが2.7になっていた

PHP

ある時、不意に手元でcomposer updateをしてライブラリを更新した。 そしてdeployする時に、deployサーバでcomposer installをしてから、deployする仕組みになっているのだが、それが失敗していた。 なぜ?と思ってエラーを見てみると、 Problem 1 - Install…

phpbrewがバグっていたのをなおした

PHP

プルリク送ったりしたわけではなくて、使おうとしてたらバグってて、最新版を落として来てゴニョゴニョして解決したという話。 ある時、phpbrew使おうと思っておもむろに $ phpbrew list phpbrew:262: command too long: phpbrew () {\n\tif [[ -e bin/phpbr…

centos6でphp実行した結果をパイプでlessに渡すとjkで上下移動出来ない

PHP

問題点 php -i | less php hoge.php | less とかでlessで内容確認したい時があると思います。 centos6でこれをやると、lessの中で普通に使える、jkで上下移動とか、文字検索とかが、全く出来ませんでした。 対処方法 echo | php -i | less echo | php hoge.p…

LaravelのEloquentを使う

PHP

Laravelは使わずに、ORMとして、Eloquentだけ使う方法を検討してみます ドキュメント php5.3〜で使いたかったのでドキュメント的にはこちらを見ます 入門的なやつ http://laravel.com/docs/4.1/eloquent api document http://laravel.com/api/4.1/Illuminate…

phpunitで環境変数を設定する

PHP

phpunit.xml.dist <phpunit colors="true" bootstrap="./bootstrap.php" > <php> <env name="TEST_ENV" value="true" /> </php> </phpunit> こうすると、 var_dump(getenv('TEST_ENV')); とかで値が取れるようになって、テスト or テスト以外の設定変更がちょっとやりやすくなる。 というか、マニュアルに普通に書いてあるのでマニュアル読みまし…

flysystem-aws-s3-v2をphp5.3対応した

PHP

https://github.com/mapyo/flysystem-aws-s3-v2/pull/1 ちょっと前のLeague\Flysystemをphp5.3対応したに引き続き、そのプラグインとして提供されているflysystem-aws-s3-v2というものがありまして。 forkして自分のところに持ってきて、php5.3対応させた。 …

composerで特定のコミットをインストールする方法

以下のようにcomposer.jsonを書いて、composer updateする。 { "require": { "league/flysystem": "dev-master#a2f5629fb0e6a85b749b3f49bd790b61381c14a9" } } ぱっと見た時に、dev-masterのmasterはブランチ名の事かと思って、ブランチ名を指定してしまっ…

League\Flysystemにプルリク出した

PHP

https://github.com/thephpleague/flysystem/pull/427 最近、php5.3対応して使ったりちょっと触ったりしているライブラリ。 ちょっと直したいところがあって どうやってテスト追加しようかなぁと思ってテストを眺めていた。 そしたら、あ、ここのテスト動い…

League\Flysystemをphp5.3対応した

PHP

phpでftpとかs3に対してやりとりする部分を抽象化したかった。 phpのファイルシステムを抽象化するライブラリ ↑でも書いたけど、ざっと調べた中では以下のLeague\Flysystemが一番良さそうだった。 https://github.com/thephpleague/flysystem でもphp5.4〜だ…

phpのファイルシステムを抽象化するライブラリ

PHP

https://github.com/thephpleague/flysystem これがぱっとみ良さそうだった。 けど、php5.4〜だった。。。 php5.3〜がいいので、 https://github.com/KnpLabs/Gaufrette を使おう。 でも、最近放置され気味な印象。。。 そして、どういう読み方をしたらいい…

phpbrewでphp.iniを設定する

PHP

phpbrew/phpbrew · GitHub これを使ってphpのバージョンを変えている。 php.iniの設定を変更したくなった。 /etc/php.iniが使われるかと思ったがそうではなかった。 どのフォルダで設定されるかとかは、以下のような感じで見てみるのが早い。 $ php -i | gre…

phpbrew useした時に出たエラーとその解決

PHP

phpbrewとはこちら。 https://github.com/phpbrew/phpbrew phpenvよりよさそうな感じがしている。 エラーの内容 $ phpbrew use php-5.3.29 __phpbrew_set_path:export:5: not valid in this context: Studio.app/sdk/platform-tools:/Users/mapyo/.composer/…

vimのquickrunでphpunitを動かす

http://blog.ruedap.com/2011/02/25/vim-php-phpunit-quickrun 完全に上の参考サイトをコピペ augroup QuickRunPHPUnit autocmd! autocmd BufWinEnter,BufNewFile *test.php set filetype=php.unit augroup END " 初期化 let g:quickrun_config = {} " PHPUn…

phpDocumenterを入れる

あんまり、phpのコメントの形式について考えた事なかったけど、それなりに入れないとダメなのかなぁと思って入れてみた。 こちら phpDocumenterを入れる - もふもふブログ を参考にやってみた。 .vimrcに以下を追加 NeoBundle 'PDV--phpDocumentor-for-Vim' …

Guzzle3でgetしたりputしたりする

PHP

前回の、Guzzle3でResource Owner Password Credentials Grantでトークンを取得する - 画竜点睛を衝く@mapyoの続きです。 前回はアクセストークンを取得する所まで終わった。 今回は、トークンを使ってgetしたり、putしたりする事にする。 以下のような感じ…

Guzzle3でResource Owner Password Credentials Grantでトークンを取得する

PHP

前回のGuzzle3を使ってみる - 画竜点睛を衝く@mapyoの続きです。 Guzzle3自体には、oauth2は対応しておらず、現状oauth2を使おうとすると、プラグインを使う事になる。 https://github.com/commerceguys/guzzle-oauth2-plugin guzzle-oauth2-pluginというも…

Guzzle3を使ってみる

PHP

Guzzleとは Guzzle is a PHP HTTP client and framework for building RESTful web service clients らしい guzzle/guzzle · GitHub Guzzle | PHP HTTP client and framework for consuming RESTful web services — Guzzle Documentation PHPでHTTPの並行ダ…

macにphpenvを導入する

PHP

以下のブログを参考にさせて頂いた。 phpenv + php-buildでphpのバージョン管理 - わすれっぽいきみえ 複数バージョンの PHP を管理できる phpenv のインストール手順 : Serendip - Webデザイン・プログラミング 1. phpenvのinstall phpenvを入れる $ curl h…

vagrantでCakePHPが動く開発環境を用意する

以下のサイトを参考にしてみました。 http://morizyun.github.io/blog/vagrant-mac-setup-biginner/ 前提 VagrantとVirtualBoxはインストール済。 各sourceのダウンロードや設定 git clone git://github.com/borivojevic/cakephp-vagrant.git cd cakephp-vag…

phpcpdを使ってみる。

phpcpdとは、phpのコードの重複を効率的に発見してくれるツール。 前提 macにcomposerをinstallするまでのあれこれ - Qiita こんな感じでmacにcomposerを入れている前提。 インストール https://github.com/sebastianbergmann/phpcpd composer経由でinstall…

composerに対応したgithubリポジトリの作成

前提 Packagistへの登録は行わない。 現状、登録しないと困った事が発生します。(下の方の困った事参照) ライブラリ側 composer.josnを作成する クラスとかもろもろ作成 tagをつける 作成したgithubリポジトリはこちら https://github.com/mapyo/composer_…