Windows Xammp環境にphpcsをインストールする
Windows Xammp環境だとphpcsのバージョンは1.3でだいぶ古い。これだとPSR2が使えない。最新のバージョンをインストールする。
pear install PHP_CodeSniffer-2.5.0 phpcs --config-set encoding utf-8 phpcs --config-set default_standard PSR2
参考サイト
PHP CodeSniffer ルールセットのカスタマイズ方法blog.apar.jp
pear上でのインストールに失敗する
Pearの作業フォルダのデフォルトはCドライブなので、インストールに失敗することがある。
D:\xampp\source\futari>pear install PHP_CodeSniffer-2.5.0 downloading PHP_CodeSniffer-2.5.0.tgz ... Starting to download PHP_CodeSniffer-2.5.0.tgz (480,157 bytes) done: 480,157 bytes ERROR: failed to mkdir C:\php\pear\tests\PHP_CodeSniffer\CodeSniffer\Core\File
正しいパスに変更する。
pear config-set doc_dir D:\xampp\php\pear pear config-set cfg_dir D:\xampp\php\pear pear config-set data_dir D:\xampp\php\pear pear config-set test_dir D:\xampp\php\pear pear config-set www_dir D:\xampp\php\pear
Laravel5のSeederでユーザ自動登録
Laravel5のSeederでユーザ自動登録
class UserTableSeeder extends Seeder { public function run() { \Myapp\User::create([ 'email'=>'Myemail@hatena.ne.jp', 'name'=>'myname', 'password'=>Hash::make('mypassword'), ]); } }
Owncloud VS Pydio
以前「Pydioを選ぶぞ!」って書いたけど、Pydioのアンドロイドクライアントの日本語未対応っぷりに辟易した。なのでOwncloudに切替中。
Laravelでファイルを生成せずにファイルダウンロード
Laravelでファイルを生成せずにファイルダウンロードしたときのメモ
$stream = fopen('php://temp', 'w'); foreach (Title::all() as $title) { fputcsv($stream, $title->toArray()); } rewind($stream); $csv = mb_convert_encoding(str_replace(PHP_EOL, "\r\n", stream_get_contents($stream)), 'SJIS', 'UTF-8'); $headers = array( 'Content-Type' => 'text/csv', 'Content-Disposition' => 'attachment; filename="' . $filename . '"' ); return Response::make($csv, 200, $headers);
Laravelでファイルダウンロード1
Laravelでファイルをダウンロードしたときのメモ。
public function export() { $tables = Table::all(); $filename = 'downloadfile.csv'; $handle = fopen($filename, 'w+'); fputcsv($handle, array('created at')); foreach ($tables as $row) { fputcsv($handle, array($row->created_at)); } fclose($handle); $headers = ['Content-Type' => 'text/csv']; return Response::download($filename, $filename $headers);
NetBeansのPSRでエラー
NetBeansでLaravelのソースを書いていたら、Lalasniffの記述チェックで
The closing brace for the class must go on the next line after the body
というメッセージが出てしまった。
これは閉じカッコ前に空行があるので間違っている。
<?php class User extends \Eloquent { public static $rules = []; protected $guarded = ['id']; 【ここに空行がある】 }
NetBeansの「ツール」⇒「オプション」⇒「エディタ」⇒「空行」⇒「フィールドの後」と「クラス終了の前」を0にして自動整形すれば、エラーは消える。
phpDocumentorをインストールする
phpDocumentorをインストールするコマンドは以下の通り。
pear channel-discover pear.phpdoc.org pear install phpdoc/phpDocumentor
でも、たいてい失敗する。その場合は
pear clear-cache
キャッシュクリアしてもう一度実行する。
ちなみにphpdocコマンドを使う前には、事前にpearコマンドが必要だ。
pear phpdoc run -d app/controllers -t doc/controllers
Python3でキーボードの入力待ち
Python3でキーボードの入力待ちをするにはinput()を使う。
key = input('続けるには y を入力してください。')
lalasniffでスペースの入れ忘れ
lalasniff使っていたら以下のエラーが出た。functionの後にスペースの入れ忘れたのが原因だった。
Expected 1 space after FUNCTION keyword; 0 found
誤:$this->app->share(function($app) {
正:$this->app->share(function ($app) {
Python3で円マーク付きの文字列を扱う
文字列にrをつけるみたい。
folder_path=(r"\\127.0.0.1\xampp")
Laravelでパッケージ用のConfigをコピーする
Laravelでパッケージを使う場合には、Configをコピーしてから使う。オリジナルのConfigはcomposer updateのたびにデフォルトに戻るからだ。
「config:publish ベンダ名/パッケージ名」でConfigがapp/config/packagesにコピーされる。
>php artisan config:publish schickling/backup Configuration published for package: schickling/backup