タグ

programmingとphpに関するtaketyanのブックマーク (12)

  • より良いPHPerになるための20Tips

    去年の話ですが、海外でこんな記事が上がっていました。 20 Tips you need to learn to become a better PHP Programmer 記事の内容は、かなりレベルが低いです。 しかし、初心者のうちに知っておけば、より早く成長出来るでしょう。 初心者PHPerのために、この記事の翻訳を載せます。 20 Tips you need to learn to become a better PHP Programmer PHPは、同じオブジェクトの扱い方でも複数の書き方を持っている、とても気まぐれなプログラミング言語だ。 詳しくは、私の書いた”The Art of Programming“を読むと良い。 これから書くTipsは、過去のプロジェクトから私が学んだコードの可読性、メンテナンス性を上げ、あなたを素晴らしい、より進んだPHPプログラマーにするもの

    taketyan
    taketyan 2011/03/21
    なるほどこれが元ネタか. ボクは良い PHPer にはなりません.
  • より良いPHPerにならないための20Tips

    http://1-byte.jp/2011/03/20/20_tips_you_need_to_learn_to_become_a_better_php_programmer/ 良いPHPerだって?そんなものは丸めてゴミ箱にでも捨ててしまった方が資源の再利用になる分いくらかマシだ。 つまり俺たちがしなくちゃならないことは「より良いPHPerにならないため」に何ができるかってことなのさ。 それじゃ、始めよう。 1. ?>を使うな?>なんて使っちゃいけない。そう俺たちはBAD PHPer。 無駄なホワイトスペースの出力に悩まされるくらいなら対称性なんて丸めてゴミ箱にでも捨てた方がまだマシだ。非対称性こそが賛美。 2. 設定ファイルをPHPで書くなrequire_once("config.php"); 未だにこんなことやってるやつがいるのかいベイベー。絶対にダメだ。この一行を見たら俺は悶絶する

    より良いPHPerにならないための20Tips
    taketyan
    taketyan 2011/03/21
    "君は見たことがあるだろうか。common.phpやfunction.phpの恐ろしさを。"
  • php5.3.99 - id:k-z-h

    php注意5.3.99 というバージョン番号は trunk に対して仮に振られているものです。これは将来的に 5.4 としてリリースされる予定のものです。あくまで予定ですので、内容は変更される可能性があります。 注目どころarray がデリファレンスされるようになった無名関数で $this が使えるようになったscalar type hinting の構文と Reflection API が追加されたtraits が追加された array のデリファレンス function return_array() { return array(1, 2, 3, 4); } //old style $tmp = return_array(); $value = $tmp[2]; //new style $value = return_array()[2]; ちなみに array(1, 2, 3, 4)

    taketyan
    taketyan 2011/02/27
    array のデリファレンスいいなー. traits も楽しみ.
  • 5 分で分かる PHP の組込みインターフェイス | Born Too Late

    PHP の interface や implements ってご存知ですか ? 知っている前提で話を進めます。 それでは PHP の組込みインターフェイスをご存知ですか ? この記事ではそれについて紹介します。 なお、PHP のバージョンは 5.3 以降を前提としています。 (多分、 5.2 でも動く) PHP の組込みインターフェイスとは PHP でインターフェイスを定義するには、 interface 宣言を記述する必要があります。 しかし、以下のようなインターフェイスは PHP に予め組込まれており、定義すること無しに利用できます。 Countable Iterator ArrayAccess 普通 interface といえば、メソッドの定義を強制することで、クラスの再利用性を高めるために用いられていると思います。 上記の組込みのインターフェイスについても、もちろんそういった利点があ

    5 分で分かる PHP の組込みインターフェイス | Born Too Late
    taketyan
    taketyan 2010/12/31
    Blogged. 配列っぽいオブジェクトをつくる。
  • 新潟アクセス修飾子/指定子のご提案 - お前の血は何色だ!! 4

    これからは新潟の時代だ! niigata新潟アクセス修飾子のご提案 on Prezi 導入方法 #ダウンロード #php 5.3.2 体 wget http://jp2.php.net/distributions/php-5.3.2.tar.gz #新潟パッチ wget http://rtilabs.net/files/2010_05_20/niigata.patch #サンプルその1とその2 wget http://rtilabs.net/files/2010_05_20/niigata_test1.php.txt wget http://rtilabs.net/files/2010_05_20/niigata_test2.php.txt ##余談 ##diffはこうやって作った。 ##diff -crN php-5.3.2 php-5.3.2_niigata > niigata.pa

    新潟アクセス修飾子/指定子のご提案 - お前の血は何色だ!! 4
    taketyan
    taketyan 2010/12/20
    読めるけど書けないプロパティ w そういうことか www
  • Amazon.co.jp: PHP: The Good Parts: Peter B. MacIntyre (著), 長尾高弘 (翻訳): 本

    Amazon.co.jp: PHP: The Good Parts: Peter B. MacIntyre (著), 長尾高弘 (翻訳): 本
    taketyan
    taketyan 2010/12/07
    こんなのあったんだ !
  • 本当に結構パーフェクトでした - 書評「パーフェクトPHP」 | GREE Engineering

    最近はWebSocketで遊びたくてしかたがないfujimotoです、こんにちは。今回は、日(2010/11/12)発売されている(はずの)待望の書籍、「パーフェクトPHP」の書評をお届けします。 僕は今週ひと足お先に献をいただいて目を通したのですが、様々なPHP関連の書籍で「こういうことにも言及してほしいなぁ」「このサンプルを鵜呑みにされてしまうと困るかも...」というところをきちんとカバーしていたり、最新版の仕様や、PHPを使い倒しているユーザの考え方が反映されていて、今までにない書籍だな、というのが第一印象で、初心者のかたから上級者のかたまで、全員が買って損はない(少なくとも、書店で手にとってみる価値はある)一冊だと思います。 これは、いずれもPHPのヘビーユーザであり、よいところもわるいところも知り尽くしている著者のかたがたが、執筆するにあたって最初に考えたであろう「既にPHP

    本当に結構パーフェクトでした - 書評「パーフェクトPHP」 | GREE Engineering
    taketyan
    taketyan 2010/11/16
    神に「結構パーフェクト」と言わしめるクオリティらしい ...
  • Net_KyotoTycoon - Openpear

    Net_KyotoTycoon Subversion Repository: http://openpear.org/repository/Net_KyotoTycoon / Latest Release: no release Kyoto Tycoon client library for PHP. System requirement. PHP5.3 HTTP_Request2 PHPUnit3.5 Usage <?php require_once 'Net/KyotoTycoon.php'; $kt = new \Net\KyotoTycoon(array('port' => 19780)); $kt->set('test_php', 'Hello KyotoTycoon!!'); var_dump($kt->get('test_php')); // Hello KyotoTYco

  • PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー

    PHPはソースコードを読めばわかるとおりC言語で書いてあります。 そのC言語の中でPHPがどんな処理をしているのかをデバッガであるgdbを用いて見ることができるのでそれを紹介します。まぁ普通のgdbの使い方なんですが:p ソースをダウンロードしてコンパイル PHP-5.2.6のソースをダウンロードします。 まず./configureするとのMakefileができます。 このMakefileの中で-gオプションがついていることを確認しましょう。*1 これがデバッガ(gdb)用のオプションで、コンパイルされたバイナリファイルにソースコードとの対応付けができます。 次にmakeします。時間がかかります。 サンプルファイル makeしている間に次のようなPHPファイルを作成しましょう。 <?php $i = "12"; $k = intval($i); ?> これは文字列の"12"をintval関

    PHPの実行をPHPのソースコード(C言語)のレベルで見る方法 - suztomoのはてなダイアリー
  • PHPで Fatal Error時の状況を調べる方法

    PHPでFatal Errorが発生すると以降の処理が実行されない。 かつ、try/catchやset_error_handler()ではFatal Errorを捕まえられない。 なので通常は、Fatal Errorが起きたときの詳しい状況はログに残らない。 (例えばエラーが起きたPHPのファイル名はログに残るが、それを呼び出した側のPHP名や、データの状況は分からない。) しかし、register_shutdown_function()を使えばエラーが起きたときの状況をログに残せる。 register_shutdown_function('shutdownHandler'); function shutdownHandler(){ $error = error_get_last(); if ($error['type']) { //エラーの場合のみ error_log(...); //必

    taketyan
    taketyan 2010/10/20
    set_error_handler では Fatal Error がハンドリングできないらしい ...
  • yuya-takeyama's Ngram at master - GitHub

  • Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late

    JavaScript ではよくある、こういう書き方。 一応説明すると、これは実行時に外側の無名関数を実行します。外側の無名関数は返り値として、内側の無名関数を返し、変数 counter には内側の無名関数が代入されます。 これの何が嬉しいのか。 counter 関数が内部に持っている変数 i は隠蔽されており、外から変更できない。 グローバル空間の汚染は counter 1 つだけ。 といったところでしょうか。とにかく、 JavaScript 脳の人はこういう感じのコードをよく書いている気がします。 JavaScript にはオブジェクト指向によくある protected や private といったアクセスレベルを制御する機能が無いため、これの応用で内部の変数やメソッドを隠蔽することが多いです。 Prototype や jQuery でもそういった使い方がされています。 このように、 J

    Perl でも JavaScript っぽくクロージャが作れるんですね - Born Too Late
  • 1