9/27に行われたレガシーコード改善勉強会で発表された資料です。 http://passmarket.yahoo.co.jp/event/show/detail/01pitgwzj67m.htmlRead less
![PHP版レガシーコード改善に役立つ新パターン #wewlc_jp](https://cdn-ak-scissors.b.st-hatena.com/image/square/6369d022901e6e992ec3bf5b9bdba8573670b64c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fwewlcjpyahoo-141019210227-conversion-gate01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
面白いエントリを見つけたので和訳しました。PHPが使われていた歴史が古い事や開発者のコミュニティの観点から見たPHP論。読みやすいので早速どうぞ。 なお画像は「各プログラム言語からは各言語オタクがどう見えるか?」です。 原文 Why PHP Was a Ghetto http://codefury.net/2011/04/why-php-was-a-ghetto/ なぜPHPはゲットーだったのか ダンボ地区のかなりクールなスタートアップの創始者と私は世の中の多くのPHPの開発者でない人たちがPHPとその周囲のコミュニティを軽蔑するのかについて話していた。彼はとても興味深い点に言及した事が私の印象に残った。なぜなら私はこれまで聞いた事がない点だった。 お気づきかもしれないが、開発者がPHPに対して通常抱く不満は、だいたい以下の通りである: 醜い構文 他の言語が備えているいくつかの必要な
Hudson, PHPphp-cpdとhudsonを使って重複コードを見やすくわかりやすく見つけて減らす方法Hudson+phpcpdで継続的に重複コードをチェックする | Ryuzee.comを参考にしたのですがなかなか動かなかったのでメモ残しですcpd(Copy/Paste Detector)phpcpdその名の通りコピペしてるところを検知してくれるpearのモジュールですインストール pear upgrade pear pear channel-discover pear.phpunit.de pear channel-discover components.ez.no pear install phpunit/phpcpd 使い方 phpcpd /path/to/hoge 注意点メモリを結構食うみたいで大量のファイルを対象にしちゃうとエラーメッセージがでますHudsonとの連携前提
ブラウザからPHPスクリプトにアクセスして、PHPプログラムからsudoコマンドを実行する方法。 ちょっとハマってしまったので方法をメモっておきます。 ご存知の通りPHPからコマンドを実行するにはexec()やsystem()等を使えばいいんですが、Apacheに実行権限が無いファイルを扱う場合はsudoしてから実行する必要があります。 <?PHP $cmd = "echo 'password' | sudo -S ls /root"; exec($cmd, $output); print_r($output); ?> みたいに-Sを付けてやればパイプでパスワードを渡すことが出来ます。 ここで入力するのはもちろんapacheが動いているユーザーのパスワードです。 apacheがどのユーザー権限で動いているかはhttpd.confのUserディレクティブとGroup
PHPの exec , system 関数を使って、直接コマンドを実行することができます。 これをうまく使えば、PHP単体では実現しにくいことを 他のアプリと連携して実行することができます。 そんなわけで、ためしにWebのインターフェイスからボタンを押すと サーバ上のファイルのバックアップをとるように、PHPからRsyncを実行させようとした時の話です。 下準備として、実行するRsyncを手打ちでまず実行できるか確認します。 # サーバ上の /xxx/xxxx/ のファイルをローカルの /xxx/xxxx/ に同期させると考えます。 rsync -auv -e ssh xxxx@example.com:/xxx/xxxx/ /xxx/xxxx/ ※ssh を利用するためパスワードを入力せずに接続できるよう公開認証キーの設定をしておく (この設定は、ネットでもたくさん情報ありますのでそちらを
.htaccessやhttpd.confで環境変数を渡すことで、本番環境と開発環境などを分けることができます。 設定方法 使用方法 必須条件 たとえば環境によるデータベースの設定の違い(パスワードなど)を吸収することができたり、 開発環境のみ詳細なエラーを表示させたりできます。 設定方法 本番環境 SetEnv APPLICATION_ENV production デフォルトではproductionが使用されるので、本番環境の場合は指定をしなくてもよい。 開発環境 SetEnv APPLICATION_ENV development 最初に読まれるindex.phpに、次のように書きます。 defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICAT
ZendFrameworkでDB接続メモ 2010年06月22日 ZendFrameworkは自由度が高いせいかいろいろ自分で設定しなきゃいけないんのですが、とりあえずDB接続のめも。 いちいちファイルごとにホストネームとか指定するのは現実的ではないので、application.iniとBootstrap.phpでの接続方法。 application.iniにデータベースの設定情報を記述。 application/configs/application.ini [production] db.adapter = "PDO_MYSQL" db.params.host = "localhost" db.params.username = "root" db.params.password = "xxxx" db.params.dbname = "xxxx" db.params.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く