Composer自体のインストールとmonolog及びTwigをComposer経由でインストールする方法
2024/02/20
「Composerで○○をインストール」というのをよく見かけるがComposerすら何なのか分かっていなかった。今後使うかどうかは置いておいてComposer自体のインストール方法とmonolog及びTwigをComposer経由インストールする方法のメモ。
Composerのインストール
ドキュメントルート(/var/www/htmlで想定)とかで以下コマンドで導入可能。
wget https://getcomposer.org/download/1.0.0-alpha11/composer.phar
monolog
インストール方法
同ディレクトリで以下コマンドでインストールする。
php composer.phar require monolog/monolog
/var/www/html/vendor/monologディレクトリにインストールされる。
使用方法
以下のような形で使用する。
<?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
インストール方法
同ディレクトリで以下コマンドでインストールする。
php composer.phar require twig/twig:1.*
*のワイルドカードは1.*系で最新のものをインストールしてくれるらしい。/var/www/html/vendor/twigディレクトリにインストールされる。
使用方法
以下のような形で使用する。
<?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で動画を出力する方法
Webページ上で動画ファイルを再生したい場合、通常だとブラウザのソースコード上に ...
-
PhpSpreadsheetで作成したエクセルファイルをPDFファイルに変換する方法
以前にPhpSpreadsheetでフォーマット用のエクセルを読み込み、指定した ...
-
PHPで他サーバにFTP経由にてファイルをアップロードする方法
formで送信した内容をチェックした上で、他サーバにファイルをアップロードしたか ...
-
PHPで指定したディレクトリ内のファイルを全てincludeする方法
PHPでライブラリを利用する際にcomposerからインストールしたものは「ve ...
-
PHPのLocationにGETパラメータとして変数を入れる方法
PHPでページ遷移したい際に以下のように記述すると思う。 header("Loc ...