Slim3 FrameworkでPDOを使用したDBアクセスを行いたい場合があります。 Slim3では、システム全体で使用するオブジェクトの管理をDIコンテナに任せることができる為、DIコンテナ経由でPDOオブジェクトの取得を行う方がスマートです。 下記は、PDOオブ...


Ansibleのtemplateコマンドについて

2017年8月28日 | カテゴリ: 未分類 | タグ:
Ansibleでは単純なファイルのコピーだけでなく、templateコマンドを使うことによって可変部を含むファイルをコピーできるテンプレート機能を使用することができます。 ## テンプレートの仕組みについて - templateコマンドを使うと、Jinja2のテ...


PHPのマイクロフレームワークである、Slim3 Frameworkでクライアントから渡された、GET/POSTパラメータを受け取る方法はいくつかの方法があります。 まずは以下の方法で、すべてのパラメータを配列として取得できます。 ```language-php $paramValue ...


今回は、AWSのcliユーティリティを使用して、複数のec2サーバに対してコマンドを実行します。例として、タグに"role=web"が指定された全てのec2インスタンスに対してuptimeコマンドを実行してみます。 ## 最初にまとめ 結果だけ知りたい人のために結論...


AWSのクラウド環境をコマンドラインから操作するために、awsコマンドというものがあります。 検索系のコマンドの場合、jsonで形式で出力させたうえでjqコマンドで必要な情報のみ抽出することが多いのですが、jqコマンドを初めて使う場合、使い方が分か...


Linuxのcron機能で、5分ごとにスクリプトを実行したい場合は、大抵の環境で下記の指定が可能です。 ```language-bash */5 * * * * ``` ただ、上記の場合だと、開始が0分になります。 開始が0分からではなく、m分のオフセットを掛けたのち、n分おき...


[PHP]Slim3でリダイレクトを行う

2017年8月15日 | カテゴリ: SlimFramework
PHPのSlim3 Frameworkで302リダイレクトを行いたい場合があります。 Slim3でリダイレクトを行うときは、下記のように$response->withRedirect()メソッドを利用すればよいです。 ``` language-php use \Psr\Http\Message\ServerRequestInterface as Re...


[PHP]arrayをXMLに変換する関数

2017年8月15日 | カテゴリ: PHP
PHPでarrayをXMLを調べていたところ、意外と探せない。 PEARのXML/Serializerライブラリを使うのはさすがにレガシーすぎるので、stackoverflowで見つけたSimpleXMLElementクラスを利用したものを使うことにしました。下記Q/Aの回答に提示されていたコー...


Slim Frameworkで応答データをjsonp形式で返したい場合は、下記のようにすればよいです。jsonpのcallback関数名は、通常クライアントから指定してもらうことが多いです。 ```language-php $app->get('/', function (Request $request, Response $respons...


SlimFrameworkでは、スクリプトの途中でエラーが出たとき以下のメッセージを画面に表示するだけで、エラーのスタックトレースなど詳細を画面に表示しません。 ```language-bash Slim Application Error A website error has occurred. Sorry for the te...


PHPを使ったプログラムで、簡単なWebAPIを実装したい場合があります。 小さなWebAPIサーバなど、シンプルなサービスを実装する時にSlim Frameworkのようなマイクロフレームワークは助けになりますが、クライアントの認証がネックになることがあります。...


phpからyamlファイルを読む機会があったのですが、symfony/yamlパッケージを使ってみたら便利でした。 パッケージ名に"symfony"とついていますが、symfonyフレームワークを使わなくても、このパッケージだけ単独で利用できます。 (さらに…)


ansibleをインストール後、下記のplaybookを実行すれば、phpとcomposerを纏めてインストールできます。 動作テストは、vagrant上のubuntu-trusty-64にて行っています。 ```language-yaml #!/usr/bin/env ansible-playbook - name: install php and c...


PHPの通信ライブラリであるGuzzleHttpで通信の送受信内容をデバッグしたい場合があります。 デバッグ出力するためには、get()やpost()など通信実行のメソッドの第二引数に、'debug'=>trueのパラメータを追加すればよいです。 (さらに…)


PHPでComposerといえばパッケージの依存性管理を行うためのツールですが、パッケージ管理以外にオートロードの機能も備えています。 今回はcomposerを使って、何も依存パッケージを利用せず、オートロードの機能だけ利用したプログラムを作ってみます。...


PHPでもrange()関数を使ってみよう

2017年8月1日 | カテゴリ: PHP
pythonでは一定の回数ループさせたり、一定の範囲の数列を扱うために、range()関数があります。 pythonのプログラムでは頻繁に使われる便利な関数なのですが、実はPHPにもpythonと同様、range関数が標準で用意されています。 今回はrange関数を使っ...