PHPのプログラムを実行するとUnexpected T_STRINGエラーが出る場合があります。 このエラーが出た場合にチェックするポイントを説明します。 ## エラーが出た場所を確認する 以下のようにエラーが出るので、まずはこのエラーメッセージよりエラー...


PHPのSlim3 Frameworkでcookieを管理するためのクラスです。 stackoverflowにあったコードを元に一部改修してます。 https://stackoverflow.com/questions/35257522/slim-3-framework-cookies ```language-php


Visual Studio 2017のインストーラをダウンロードすると、通常は1MB程度の小さなインストーラーで大半のデータをインストール中にオンラインでDLする形式になります。 複数台にインストールするなど、予めISOイメージを取得して起きオフラインでVisual ...


[Windows].Net CoreのSDKをインストールする

2017年9月10日 | カテゴリ: C#
Windows向けの.Net Core SDKは、https://www.microsoft.com/net/download/core#/sdkよりダウンロードできます。 .Net CoreのSDKのインストールは、1分程度で完了する小さなもので、特に再起動も要求されません。 インストーラーも下記のような感じ...


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


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


[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フレームワークを使わなくても、このパッケージだけ単独で利用できます。 (さらに…)


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


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


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

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


PHPでは、define()関数を使用して、定数を作ることが可能です。 定数を切っておくと便利なのですが、定義の内容はシステム全体に及ぶため影響範囲を調べ辛いというデメリットもあります。 古くからあるアプリを保守する場合は、そもそも、何のdefine定...


PHPで利用できるマイクロフレームワークの一つに、Slim Frameworkというものがあります。今回は、Slim Frameworkで、302リダイレクトを行う方法を説明します。 Slim Frameworkでは、HTTPのリクエスト、レスポンスの情報をPSR-7の規格に準じた形で実装し...


最近のモダンなPHPプログラムでは、エラー処理を行う際に、try-catchを利用した例外処理で対応する場合が多いです。 全てのプログラムを自作する場合は、全てのエラーを例外として統一的に扱うことができます。ですが、古いライブラリなどを利用する場...


PHPでは、XDebugを利用することで、ステップ実行などが行えますが、一方で処理が遅くなるデメリットがあります。 プログラムの特定の処理で、デバッグを行う意図はないけれども、XDebugのせいで非常に遅くなる場合、プログラムからXDebugを無効化できます...


既にComposerが導入済みのプロジェクトに、後から自分がアサインされる場合、Composerにかかわる環境を調査したい場合があります。 最初に調査を始めるときは、インストールされた環境に変更を加えずに設定の内容だけを確認したいものです。 今回は、...


PHPのパッケージ管理ツールであるComposerですが、問題の切り分けなどで、いったんComposerにまつわる全てのファイルを削除する方法を説明します。 ## Composerを構成するファイル Composerのプログラム自体は、composer.pharファイルの1ファイルの...


PHPでファイルを削除したい場合、unlink()関数を使用することファイルの削除が出来ます。 ですが、ファイルを削除するのではなく0byteに切り詰めたい場合があります。 ファイルを削除せずに切り詰めたい状況ですが、例えば何らかの事情があって、ファ...


Composerを利用して短時間で大量のパッケージを取得すると、GithubのAPI実行回数制限に引っかかってまうばあいがあります。上限に掛かるとComposerは、認証のためにgithubのユーザIDとpassowordを要求します。要求通りIDとパスワードを入力すればユーザ認...


社内LANなど、外部へアクセスするときにProxyサーバが必要な環境で、composerを使用すると下記のエラーが出てパッケージのダウンロードに失敗する場合があります。 ```language-bash > composer require monolog/monolog file could not be downloade...


XDebugなどのデバッガがない環境でプログラムの開発・デバッグを行っているとき、変数の中身をjson_encode()で確認したいときが良くあります。ですがjson_encode()はデータが複雑だったり、サイズが大きいと可読性が悪いという問題があります。 今回は...