composerでmonologとTwigをインストール
「composerで○○をインストール」というのをよく見かけるがcomposerすら何なのか分かっていなかった。今後使うかどうかは置いておいて、composerのインストールとその後にmonolog→Twigをインストールするメモ。
composerのインストール
ドキュメントルート(/var/www/htmlで想定)とかで以下コマンドで導入可能。
1 |
wget https://getcomposer.org/download/1.0.0-alpha11/composer.phar |
monologのインストール
同ディレクトリで以下コマンドでインストールする。
1 |
php composer.phar require monolog/monolog |
/var/www/html/vendor/monologディレクトリにインストールされる。
以下のような形で使用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php ini_set( 'display_errors', 1 ); require('./vendor/autoload.php'); use Monolog\Logger; use Monolog\Handler\StreamHandler; use Monolog\Formatter\LineFormatter; $logging_path = 'log/error.log'; $log = new Logger('test'); $output = "[%datetime%] %level_name% %message% %file% %line%\n"; $formatter = new LineFormatter($output); $stream = new StreamHandler($logging_path, Logger::DEBUG); $stream->setFormatter($formatter); $log->pushHandler($stream); $log->pushProcessor(function ($record) { $record['file'] = $record['context']['file']; $record['line'] = $record['context']['line']; return $record; }); function debug($message, $depth=''){ global $log; $backtrace = debug_backtrace(); $key = isset($backtrace[$depth]) ? $depth : 0; $file = $backtrace[$key]['file']; $line = $backtrace[$key]['line']; $context = array('file' => $file, 'line' => $line); $log->addInfo($message, $context); } debug('debug message!!'); |
尚、ファイルのパーミッションやユーザーは適宜変更する(rootでインストールしたらvendor/autoload.phpが読み込めなかった)。
Twigのインストール
同ディレクトリで以下コマンドでインストールする。
1 |
php composer.phar require twig/twig:1.* |
*のワイルドカードは1.*系で最新のものをインストールしてくれるらしい。/var/www/html/vendor/twigディレクトリにインストールされる。以下のような形で使用する。
1 2 3 4 5 6 7 |
<?php require_once './vendor/autoload.php'; $loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader); echo $twig->render('Hello {{ name }}!', array('name' => 'hoge')); |
こちらもmonologと同様、ファイルのパーミッションとユーザーに注意する。
composerとは
PHPのパッケージ管理システムらしい。yumとかだと依存関係によりインストールできないことがあるが、そういった問題が解決できるらしい。まだ試したばかりで実感できないが本当に解決できるのであれば非常にありがたい。
参考サイト
関連記事
-
-
PHPのclassを用いてBBS作成
オブジェクト指向勉強中のメモ。 ■index.php <? error_r ...
-
-
PHPで定義した変数の一覧を表示させる
どこで何を定義したか分からなくなった際に 使ったのでメモ。 $array = g ...
-
-
当選確率が異なる抽選(ガチャ)をPHPで作成
ソシャゲのガチャみたいな、当選確率が異なる抽選をPHPで作成したかった。調べたと ...
-
-
PHPとStripeで定額課金(サブスクリプション)実装
PHPとStripeで1ヶ月ごとに500円でサイト内のサービスを使い放題のような ...
-
-
var_dumpの中に複数値を入れられる
何行もvar_dump書いてたけど一行でいけるみたい。 <?php $ho ...
-
-
フォルダにリンク制限をかける
imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...
-
-
composerでライブラリのインストールとインストール時のエラー
composerでライブラリをインストールする際に「The following ...
-
-
PHPのセッションでログイン、ログアウトの管理。あとセッションが保存されない場合の対処。
セッションはほとんど使ったことがなく、 色々つまづいたのでメモ。 やりたかった事 ...
-
-
MySQLでカンマ区切りの検索
カンマ区切りで入っているデータを検索する場合に ピンポイントな関数があったのでメ ...
-
-
PHPで配列に特定の値が入っているか検索
PHPで配列に特定の値が入っているか検索して trueかfalseを返したい、と ...