Database Search and Replace Script in PHP
こちらです。ダウンロードするためには登録が必須です*1。
コマンドラインで用いる
このスクリプトを Webアプリ として用いるやりかたは多く見かけます。ここではコマンドラインで実行する方法を示します。この方法を用いれば様々な自動化に組み込むことが可能になるでしょう。
*1:このスクリプトの危険性を理解しているかを確認しています
deploy.php
の task
の第二引数の要素に deploy:vendors
を書けばよいです。
(省略)
task('deploy', [
'deploy:prepare',
'deploy:release',
'deploy:update_code',
'deploy:shared',
'deploy:vendors',
'deploy:writable',
'deploy:symlink',
'cleanup',
])->desc('Deploy your project');
(省略)
vlucas/phpdotenv
を使いましょう。
composer.json
に書いて composer install
して、コード内で require
する場合を書きます。ほぼ公式ドキュメントどおりですが……。
{ "require": { "vlucas/phpdotenv": "dev-master" } }
Dotenv を実際に使うコードを以下のように書きます。ここで、ファイル名は sample.php
とします。composer install
はすでに済んでいるものとします。
<?php require './vendor/autoload.php'; $dotenv = new Dotenv\Dotenv(__DIR__); $dotenv->load(); echo getenv('FOO');
.env
ファイルは以下のようにしました。
FOO="BAR"
sample.php
を実行すると以下のようになります。
$ php sample.php BAR
とりあえずまずは composer install
するとします。composer.json
は以下のようにします。
{ "require": { "deployer/deployer": "^3.0" } }
このファイルを作った後に composer install
します。
composer install
が終わると vendor/
配下にもろもろインストールされています。今回インストールした deployer
は require
したりして使うものではなく、直接実行するバイナリです。
このバイナリがある場所*1は vendor/bin/dep
です。Composer でインストールされたバイナリは vendor/bin
配下に置かれます。
dep
コマンドを実行する場合、単純な方法としては ./vendor/bin/dep
と実行すればよいです。ただ毎回こうするのは面倒です。場所が確定しているので、シェルの設定ファイルに以下のように書き加えましょう。
export PATH="$PATH:./vendor/bin"
これで、composer install
をしたディレクトリ(プロジェクトのルートのディレクトリ)から、Composer でインストールしたバイナリをコマンド名だけで実行することができます。
$ dep # プロジェクトのルートがカレントディレクトリとします Deployer master Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version (以下省略)
PHPはど素人なので、Node でいう npx
のようなものがあるかもしれません*2。
以前紹介した、ウェブサーバのディレクトリのファイル一覧をイケてる表示にしてくれるアプリケーションです。
日本語のファイル名だと痛感できるのですが、ファイル名が長くなってしまうと最後の部分が ...
という表示になって省略されてしまいます。
これをなんとかしたい。
続きを読む