atijust's blog

技術的なこととか。

php

Laravel + Codeception2 でブラウザテストを自動化する

この記事はLaravel Advent Calendar 2014 22日目です。今日はCodeceptionを使ったLaravelアプリケーションのブラウザテストの自動化を紹介したいと思います。 はじめに Webアプリケーションの開発現場でよくある光景として、ブラウザを使って人力でポチポチ…

Rocketeerを本格的に使うのに必要なちょっと進んだ機能

PHPのためのCapistrano風デプロイツール「Rocketeer」でLaravelをデプロイするの補足として、Rocketeerを本格的に運用する上で必要となってくるちょっと進んだ機能を紹介します。 複数のリモートホストを一括で操作する app/config/packages/anahkiasen/rock…

PHPのためのCapistrano風デプロイツール「Rocketeer」でLaravelをデプロイする

そろそろrsyncでデプロイするのは卒業したいな、ということでRocketeerというデプロイツールを導入してみました。 RocketeerはPHP製のCapistrano風デプロイツールです。PHP製なだけあってはじめからComposerやPHPUnitをサポートしてるし、当然だけど設定ファ…

さくらVPS(CentOS6)にNginx+PHP5.5+MySQL5.6の環境を構築する(設定編)

インストール編の続きです。 動作確認用のLaravelを用意する /var/www/testに動作確認用にLaravelをインストールします。 /var/www/testは所有ユーザ、グループともに作業用ユーザ(atijust)にし、nginxユーザの補助グループをatijustにすることで、Nginxと…

さくらVPS(CentOS6)にNginx+PHP5.5+MySQL5.6の環境を構築する(インストール編)

さくらVPS(CentOS6)にNginx+PHP5.5+MySQL5.6の環境を構築してLaravelを動かすまでの記録を備忘録として残しておきます。 Nginxのインストール 公式サイトのインストール方法の説明に従って、公式のyumリポジトリからStable版をインストールします。 まずは…

Laravelでテンプレート用のロジックを整理する方法

Laravel Advent Calendar 2013の15日目です。 robclancy/presenterでテンプレート用のロジックを整理する方法を紹介します。 テンプレート用ロジックの置き場所の問題 Laravelに限らずですが、Webアプリを開発していてぶち当たる問題として、テンプレート用…

Laravel4でView Composerの設定をする場所

View Composerの設定をする場所の私案。特にデフォルトの場所が決まってるわけではないので好きな場所で設定すればいいんだけど、かといってroutes,.phpに書くのもダサいので、収まりのいい場所を模索。 ServiceProviderで app/Atijust/ViewComposerProvider…

Laravel4でブログチュートリアルっぽいのをやってみた - その2

Laravel4でブログチュートリアルっぽいのをやってみた - その1では、記事の一覧と表示を実装した。今回は記事の投稿を実装する。編集、削除については実装しないことにした。編集と投稿はほとんど同じだし、削除はコードが短く特に面白いところもないので。 …

Laravel4でブログチュートリアルっぽいのをやってみた - その1

手を動かして覚えたいので、ちょうどいい課題としてCakePHPのブログチャートリアルっぽいのをLaravel4でやってみた。 動作要件 Lravel4の動作要件は以下の2つ。 PHP5.3.7以上 MCrypt拡張 手元ではPHP5.5.5と組み込みサーバで動作を確認している。 インストー…

PHPのHTTPクライアントライブラリ「Guzzle」を使ってみる(その2)

php

その1のつづき。 Guzzleには、Service Descriptionといって、インターフェースをJSON(PHP配列でも可)で定義しておけば、コードを一行も書くことなくWebサービスにアクセスできる機能がある。 JSONでAPIのインターフェースを定義して { "operations": { "ge…

PHPのHTTPクライアントライブラリ「Guzzle」を使ってみる(その1)

php

Mobageのドキュメントがデベロッパー以外にも公開されたみたいですね。これでブログに気兼ねなくMobageネタが書けます。というわけで、さっそく。 GuzzleというHTTPクライアントライブラリが良さげなので、MobageのAPIにアクセスしてみました。OAuthプラグイ…

HerokuにNginx+PHP5.4+MySQLな環境を構築する

php

HerokuといえばRubyのためのPaaSという印象が強いのですが、ひっそりとPHPも使えます。しかし、PHPのバージョンが5.3.10と少し古いのが難点。そこで、サードパーティのbuildpackを使ってPHP5.4環境を構築してみました。buildpackというのは環境構築スクリプ…

ComposerのクラスローダをAPCで高速化

php

$loader = require __DIR__.'/vendor/.composer/autoload.php'; spl_autoload_register(function ($class) use ($loader) { $file = apc_fetch($class); if ($file === false) { $file = $loader->findFile($class); apc_store($class, $file); } return $fi…

コマンドラインのPHPでAPCを使う

php

CLIではデフォルトでAPCが無効になっている。CLIでもAPCを使えるようにするにはphp.iniでapc.enable_cliを1に設定する。 apc.enable_cli = 1APCのキャッシュはプロセスごとに独立しているのでCLIで使えたところで特に意味はない。スクリプトの実行が終わるた…

PHPの拡張モジュールをphpizeでビルドする方法

php

PECLではなくてphpizeで拡張モジュールをビルドしたときのメモ。PHPは/opt/php-5.3.10以下にインストールされているとします。 $ wget http://pecl.php.net/get/memcached-2.0.1.tgz $ tar xf memcached-2.0.1.tgz $ cd memcached-2.0.1 $ /opt/php-5.3.10/b…