[symfony] ControllerでJsonを返す

PHP、SymfonyでJsonを返すAPIを作ろうとしていたら思ったより難しかったのでメモ ORMapperはDoctrineです。   Jsonを返すためにはアクションメソッド内でSerializerを利用する必要があります。 コンストラクタでシリアライザを初期化してあとはResponseクラスに入れて返すと無事にJsonが返却できます  

laravel install

PHPとComposerのインストール brew unlink php56 brew install php71 brew install homebrew/php/composer Laravelのインストール composer global require “laravel/installer=~1.1” Laravelプロジェクトの作成 composer create-project laravel/laravel { project name } サーバーの起動 php artisan serve  

cake-phpに必要な環境をubuntuに作る(php7)

思ったよりめんどくさかったのでメモ 多分php7においてcake phpに必要なものは以下だと思われる php本体(今回は7) composer intl.so(phpのextension) mbstring.so(phpのextension) PHP本体は7をaptなりでインストールしてもらったらいいが、taskselのlamp-serverをインストールすると便利 sudo apt-get install tasksel sudo taksel install lamp-server   composerは公式サイトのインストールスクリプトを使ってインストールしたらいいし、ubuntuなら以下のコマンドでもいける apt-get install composer 2つのphpextensionはC言語で実装された拡張なのでcomposerではなく、peclからインストールするべき…と思っていたのだがpeclにあるintlはphp7だとコンパイルエラーになるし、mbstringはそもそもpeclにない。 ということでこれら2つもaptからインストールする sudo apt-get install php7.0-intl php7.0-mbstring aptからインストールするとphp.iniにextension=を記述しなくても問題なく使えた 自分の環境では上記2つのextensionをインストールするとcakephpが使えたがまだ必要なモジュールがあるかもしれない

環境構築

PHPStrom JetBrains社のPHPStormで行います。 https://www.jetbrains.com/phpstorm/ からダウンロードしてインストールしてください。 LAMP環境 LAMP環境を構築しておく Ubuntuであれば下記のコマンドでインストールできる sudo apt-get install tasksel sudo tasksel install lamp-server インストール時では/var/www以下がデフォルトのサーバールートになってしまうのでユーザーフォルダ以下の適当なディレクトリを許可する sudo nano /etc/apache2/apache2.conf #下記を追加 <Directory /home/{ユーザー名}/localhost> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> DocumentRootをユーザーフォルダ/localhostとする sudo nano /etc/apache2/sites-available/000-default.conf <VirtualHost *:80> DocumentRoot /home/garicchi/localhost </VirtualHost> localhost/にindex.phpを生成 echo “hello”>index.php localhostにアクセスしてhelloと表示されればOK Composer composerはphpのパッケージ管理プログラムです。 sudo apt-get install composer