Moving PHP forward through collaboration and standards. Welcome to the PHP Framework Interop Group! We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.
このガイドはPSR-1に準拠し、標準的なコーディング規約のためのスタイルガイドです。 このガイドの目的は、複数メンバーがコードを読む際の認識のずれを抑えることです。 これはPHPコードをどのような書式にするかについて、ルールや期待値を共有することで実現します。 スタイルルールは、様々なプロジェクトの共通内容から生み出されています。 様々な作者が複数プロジェクトを横断して協力しあうことで、全てのプロジェクトで有用なガイドライン策定の助けとなります。 従って、このガイド本来の利点は、ルール自体にはなくルールを共有することにあります。 文書内記載されている "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 及び "OPTIONAL" は、RFC 21
interfaceとabstractの特徴と違いを捉える 今回もPHP話。(正しくないことは @ahomu に教えてもらえると助かりマス) PHP5では、interface(インターフェイスの宣言)やabstract(抽象化)が使用できます。これらの説明を読むと、一見して同じような役割を持っているように見えます。 それは両者とも、メソッドの実装を「インターフェイスを実装したクラス」や、「抽象クラスを継承したクラス」に強制的に任せる機能を持っているからです。これらの挙動は、外見上とても似ています。少なくとも自分はそこで引っかかりました。 interfaceもabstractも便利なオブジェクト指向機能ですが、使い分けができないと、もったいないです。ありがちな話だと、いつまでもabstract一辺倒で、interfaceの出番が見つからない、とか。 今回はそのへんを自分の理解を整理しつつ書き留
こんにちは、@9ensanです。 PHPには、今まで様々なコーディング規約があり、例えば WordPress Pear Zend CakePHP Symfony CodeIgniter などなどです。 ここまで、それぞれでコーディング規約があり統一が取られておらずまた、その為に独自のコーディング規約を作る人もいました。 これに対して、「PHP-FIG」という有名なPHPのプロジェクトが参加しているグループが、共通点をルール化して、新しいコーディング規約を作成しています。 それが「PSR-0、PSR-1、PSR-2、PSR-3」です。 これからのPHPのコーディング規約はPSRに従うのが一番だと思います。既に様々な有名フレームワークもPSRに従うように修正が加えられています。 PSRの日本語化リンク PSR-0、1、2は日本語化してくれている人がいるので読んでみるのが一番です。 PSR-0
アクセス制御フィルタ (ACF) は、[[yii\filters\AccessControl]] として実装される単純な権限付与の方法であり、 何らかの単純なアクセス制御だけを必要とするアプリケーションで使うのに最も適したものです。 その名前が示すように、ACF は、コントローラまたはモジュールで使用することが出来るアクション フィルタ です。 ACF は、ユーザがアクションの実行をリクエストしたときに、一連の [[yii\filters\AccessControl::rules|アクセス規則]] をチェックして、 現在のユーザがそのアクションにアクセスする許可を持つかどうかを決定します。 下記のコードは、site コントローラで ACF を使う方法を示すものです。 use yii\web\Controller; use yii\filters\AccessControl; class S
こんちには、@yoheiMuneです。 今日は、PHPにおいてJSONオブジェクト(JavaScript Object Notation)を扱う方法について調べたので、 ブログに残しておきたいと思います。 最近のWebサービス(RESTなど)では、JSONオブジェクトを返すサービスが増えよう思います。 JSONについての詳細は、こちら(http://www.json.org/json-ja.html)を参照ください。 JSONはJavaScriptのオブジェクト形式は、XMLに加えて同じ情報を少ないデータ量で伝えることが出来るので、 最近は大注目です!! 写真:ワット・プララーム PHPの事前設定 PHPでJSONオブジェクトを扱う際に、PHP5.2.0以上であれば特に事前設定は必要ありませんが、 それ以前のバージョンの場合には、「php-json」を組み込む必要があります。詳細は、以下を
ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ
みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がるPHPのスマートなコードの書き方まとめを俺が書くときじゃないだろうか。 — そーだい@初代ALF (@soudai1025) 2014, 8月 12 こんな軽はずみな発言をしてしまったが故にネットで触れては行けない3大炎上案件について触れる。 ※ネットで触れては行けない3大炎上案件とは? Excel関連(スクショとか) 宗教(エディタとか) PHP のこと。 で今話題の元ネタを既に@sue445さんが魚拓してくれてる。 「Hello! my name is 404 お探しのページはありませんでした!申し訳ありません。。」 http://t.co/MS8Xy0bCMz 魚拓とっててよかったw http://t.co/UvG3gzsPul — sue445 (@sue445) 2014, 8月 12 (炎上したら即
「えー、会場の時間の関係でこの後の人は発表時間2分でお願いします」 という消化不良だったので、Yii2を試した感想を書きます。 http://www.yiiframework.com/news/76/yii-2-0-alpha-is-released/ 12月のアタマで、Yii2がようやくアルファ版になりました。パブリックプレビューからずいぶん経ちましたね。あと残るはNoSQLのActiveRecordを作っていろいろ仕上げに入るということで、待ち遠しいきょうこの頃、PHP勉強会で「やり残したことをもくもくしよう」というわけで、どこまで進んだのかをじっさいに見てみました。 まず、プロジェクト作成が Composer で簡単にできるようになっていました。 $ php composer.phar create-project --stability=dev yiisoft/yii2-app-b
2013/8/24に開催された LLまつり にて「モダンPHPチュートリアル」というタイトルのチュートリアルを担当しました。内容としてはPHPをあまり追いかけていないような方にComposerを中心とした現在よく利用されている開発手法と、PHPのバージョンアップに伴い廃止された機能などを紹介しました。 古くなったプラクティス 古くなったプラクティスとしてはレガシー化したコードによく現れる特徴や、最新のPHPでは利用できなくなった、あるいは今後利用できなくなる項目として下記を挙げています。 ファイルの末尾の ?> 拡張子 .inc のファイル CR+LF (PSRにてPHPの改行コードはLFが推奨されました。) register_globals(廃止済み) safe_mode(廃止済み) magic_quote(廃止済み) @(例外処理を使うべき) var(public private st
日付型の変換処理 Date/Timestamp変換のまとめ - Yuta.Kikuchiの日記 10言語のプログラミング言語に対してそこそこの知識を保有している@yutakikucです。いろんなプログラミング言語を使用していると文法を覚えるのは大変ですよね。PHP書いている途中からJavaScriptの文法を誤って書き始めたり... それぞれの言語の文法の違いを事細かく覚える事は無理に近いです。今日はそんな各種言語仕様の記述で難解なDateTime/TimeStampについて紹介したいと思います。扱うのはWeb系のメジャープログラミング言語のSQL/C++/Java/JavaScript/Perl/PHP/Python/Rubyになります。Mysqlからデータを取り出した後や、WebAPIから取得したデータを表示用の日付フォーマットに変換する事があると思うのでそこで利用できる知識になるかと
注意:ここで、$a と $b は完全に同じで、$a が $b を指しているわけではなく、その逆でもありません。$a と$b は同じ場所を指しているのです。 つまり、↓こういうことだ。 さらに、「PHP: リファレンスが行うことは何ですか? - Manual」にはもう一つ注意が書かれている。 注意: リファレンスを含む配列をコピーする際に、そのリファレンスが解消される ことはありません。配列を関数に値渡しする場合も同様です。 つまり、最初のコードの動作はバグではなく正しい動作をしていたということになる。 <?php $array[0] = 1; $array[1] = 2; $array[2] = 3; $ref = &$array[1]; //$array[1]と$refがリファレンスになる $copy = $array; //$array[1]のリファレンスがそのままコピーされる。 $c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く