タグ

PHPに関するarray08_12のブックマーク (368)

  • HHVM(HipHop Virtual Machine)を試してみる

    Facebookが開発したPHPを超高速で実行する仮想マシン HipHop VM | A-Listers を読んで、おぉ、、そんな事になってるのね、なんて思った次第です。 思い返せば、何年前か忘れましたが、@yandoがアレンジしてくれて、 APC開発者のFacebookのエンジニアが会社に遊びにきてくれたのでした。 あの頃は英語なんて全然話せなかったから、聞きたい事あったのに切ない思いをしました。 #隣で@hyoshiokがガツガツ質問してて、俺も、、なんて思ったものです。 んま、そんな前振りはどうでもイイのですが、PHPでVM?へぇー的な感じで、 Getting WordPress running on HHVM | HipHop for PHPでなんていうブログ記事があったもので、 それじゃ、まぁ、やってみますかねぇ的な。いつものようにVirtualBox上のUbuntuで。 #PH

    HHVM(HipHop Virtual Machine)を試してみる
  • Facebookが開発したPHPを超高速で実行する仮想マシン HipHop VM

    FacebookがPHPをさらに高速に実行する技術について2012年11月に公開した記事が話題になっています。Facebookはサービスを高速に実行する為にPHPで書かれたスクリプトをC++に変換して実行する技術、HipHop(HPHPc)を開発して利用してきました。CPUの使用量を半分程度に抑えることができるこの技術は大きな注目を集めていました。 一方でHipHopはPHPのソースコードをコンパイルして実行するというステップが必要な事から開発から実行までの手順が増えてしまうという面もありました。この欠点を補うべく、実行時に変換を行なって実行するアプローチを模索していたのがHipHop VM(HHVM)です。この記事によると、このHHVMがついにHPHPcを上回るパフォーマンスを達成したとのことです。 sandboxと呼ばれる開発環境ではインタプリタとして実行可能なHipHop (HPHP

    Facebookが開発したPHPを超高速で実行する仮想マシン HipHop VM
  • PHP5.5のジェネレータをSPLのイテレータと組み合わせてみる - hnwの日記

    リリースが間近になったPHP5.5ではジェネレータが導入される予定です。これはイテレータを簡単に記述する文法を導入するもので、Pythonのジェネレータに非常に良く似ています。 もう少し詳しく説明しましょう。PHP5.5では、yieldというキーワードが導入されました。これはジェネレータで値を受け渡すための構文です。このyieldを含む関数はジェネレータ関数と呼ばれます。関数がジェネレータ関数かどうかは、PHPの解釈のタイミングで自動的に判断されます。 ジェネレータ関数が呼ばれると、ジェネレータ関数に対応するジェネレータオブジェクトが返されます。関数呼び出しの時点ではジェネレータ関数の中身は1行も実行されません。ジェネレータオブジェクトから値を取り出すタイミングで初めてジェネレータ関数の先頭からyield文までが実行され、yieldされた値を取り出して停止します。イテレータから次の値を取り

    PHP5.5のジェネレータをSPLのイテレータと組み合わせてみる - hnwの日記
  • Symfony2ベースのユーザー登録サンプルを公開しました

    2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに

    Symfony2ベースのユーザー登録サンプルを公開しました
  • エリック・エヴァンスのドメイン駆動設計に沿ってSymfony2でユーザー管理アプリを作ってみた - sifue's blog

    あけましておめでとうございます。 去年の暮からエリック・エヴァンスのドメイン駆動設計という5200円、500ページもするを購入して読み始めた自分です。 エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子出版社/メーカー: 翔泳社発売日: 2011/04/09メディア: 大型購入: 19人 クリック: 1,360回この商品を含むブログ (129件) を見るあまりに勿体無かったので試しにこのドメイン駆動設計の設計思想にそって、簡単なアプリをSymfony2で作ってみました。 実際に作られたサイトは、 http://www.soichiro.org/sf こんな感じです。 id: test1@test.com pass: test1 でログインできます。(ユーザー作るだけなら

    エリック・エヴァンスのドメイン駆動設計に沿ってSymfony2でユーザー管理アプリを作ってみた - sifue's blog
  • DCI in PHPについて考えてみる

    DCI(Data, Context and Interactions)というキーワードがRuby界で流行っているとか。 DCIアーキテクチャ - Trygve Reenskaug and James O. Coplien - Digital Romanticism DCIアーキテクチャについて語ってみるよ - uehaj's blog まだよく消化できていないのですが(そもそもMVCだって理解できた気がしない)、PHPではどう実装すればいいかを考えてみました。 DCI概略 斜め読みしたところ、MVCのModelが肥大化しがちなところなので、じゃあModelをData、Context、Interactionに3層分割して実装すればすっきりしますよ、という概念だと読めました。実装によってはContextではなくUseCase、InteractionではなくRoleと書いていることもあるみたい。

    DCI in PHPについて考えてみる
  • PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone

    この記事は Sphinx アドベントカレンダーの 26日目(相当)を勝手に書いたものです。 Sphinx の autodoc Sphinx には autodoc という機能があります。 未だにうまく使う方法を理解できていないのですが、ちゃんと使うと Python コードに書かれた docstring を元に Sphinx 文書にリファレンスを埋め込むことができるそうです。 Javadoc や Doxygen のようなことができるということですね。 「Sphinx 文書に埋め込む」というスタイルをとっているため、 コードに記述しづらいシステムの概要やミドルウェアの話、 運用における注意点などは通常どおり Sphinx 文書として記述して、 コードに関する説明などは docstring に書くという書き分けができそうです。 ただ、あまり詳しい説明が書いていないこともあり、 また Python

    PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone
  • Top : FuelPHP まとめ Wiki

    PHP 5.3+ 用の新しいフレームワーク「FuelPHP」の情報をまとめています。 2017/01/15 FuelPHP 1.8.0.4 がリリースされました! 2016/07/24 [東京] はじめての FuelPHP - first-lesson | Doorkeeper https://first-lesson.doorkeeper.jp/events/48312 2016/07/20 FuelPHP 1.8.0.3 がリリースされました! 2016/06/20 FuelPHP 1.8.0.2 がリリースされました! 2016/06/03 FuelPHP 1.8.0.1 がリリースされました! 2016/04/09 FuelPHP 1.8.0 がリリースされました! 2016/01/25 [電子書籍]『FuelPHP Advent Calendar 2015』正式リリース 2015

  • 2012年のPHP周辺の話題振り返り - Engine Yard Blog JP | Engine Yard Blog JP

    2012年もとうとう終わりますね。スッキリとした気持ちで2013年を迎える為に、この1年のPHPに関する出来事をまとめてみることにします。なお今回の記事の内容は下北沢オープンソースカフェで隔週火曜日に開催しているShimokita.phpの生放送で話した内容から抜粋している形です。ゆるいフンイキではありますが動画でご覧になる方は下記をどうぞ。 http://www.youtube.com/watch?v=iGQCILzVKlw PHP体について 2012年はPHP体の開発は非常に活発でした。ほぼ毎月リリースが行われており、PHP5.3は5.3.10から5.3.20まで、PHP5.4は5.4.0から5.4.10までバージョンが進んでいます。(年表にまとめたページはこちら)この中には重要なセキュリティの修正も含まれておりPHPを利用中のユーザは最新のPHPが推奨されています。またPHP5.

  • http://kwatch.houkagoteatime.net/blog/2012/12/25/php-generator-4/

  • CakePHP Modelに関する6つの誤解

    CakePHPのModelはActiveRecordライクなDBアクセス方法を提供しており、さらにアソシエーションを設定することにより複数テーブルの値を同時に操作できるなど、DB操作に対するインターフェイスが数多くあります。 ただ「手軽にDB操作ができる」という印象が先行しているゆえ誤解を招くことがあるようです。 1. クラス名に対応したテーブルしか操作できない Modelのクラス名とテーブルを自動でマッピングするのはフレームワークのいわば便利機能です。デフォルトでそのような動作をするだけで、容易に変更することができます。 Model#$useTableにテーブル名を指定すれば任意のテーブルを操作できます。 <?php class Foo extends AppModel { public $useTable = 't_user'; // t_userテーブル } ?> 2. DBを使わな

    array08_12
    array08_12 2012/12/25
    "ビジネスロジックはControllerでなくModelで実装して、Controllerへはそのインターフェイスを提供するようにしましょう。"
  • PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記

    メリークリスマス! PHP Advent Calendarもいよいよ24日目に突入です。 昨日はxhprofについてでしたね。僕もパフォーマンスチューニングの際に使っています。手軽に利用できるのでお勧めです。 さて、このエントリーでは表題の通りMVCについて書かせていただきます。これは、PHPカンファレンス2012&WordCamp Tokyo2012合同LT大会で発表した「やはりお前らのMVCは間違っている」で煽るだけだったこの問題をきちんと解説するものです。 この発表資料を公開するとPHPの枠を超えて広く閲覧いただき*1、また多くの方から突っ込みを戴きました。「LTだから」と言って逃げていた回答をして、気持ち新たに新年を迎えようと思います。 MVCとはなんなのか 間違いを指摘する前にMVCがそもそもどういうアーキテクチャであるのかを確認しなければいけません。 MVCは1970年代にパロ

    PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記
  • http://kwatch.houkagoteatime.net/blog/2012/12/24/php-generator-3/

  • xhprofの読み方 - でつmblr

    最近xhprof使い始めたのですがインストールまではよく紹介されてたのですが、数値の意味まで解説してなかったので簡単にまとめます。 installsudo pecl install xhprof-beta peclでインストールする場合、まだベータ版しかないのでパッケージ名の後ろに"-beta"を付ける必要があります。 動作までは解説されてる記事がよくあるのでそちらを参考に PHPのプロファイラー「XHProf」の使い方 PHPプロファイラー XHProf プロファイル画面 表の項目について FunctionName コールされた関数名Calls コールされた回数Calls% 全体のコール回数に対する割合Incl. Wall Time その関数全体の処理時間IWall% 全体の実行時間に対する割合Excl. Wall Time その関数から呼ばれた関数の実行時間を除外した、関数の純粋な処理

  • sublime text 2 で PHPをビルドできるようにする:お題目うぉっち

    2012年09月09日 sublime text 2 で PHPをビルドできるようにする スクリプト言語を学ぶ際に書いたコードをすぐに実行できるようにしておくと便利だ。Sublime text 2 では RubyPython は Command + B で実行できるが、PHPでもこれをしたいので方法を調べた。 メニューの Tools ⇢ Build System ⇢ New Build System を選択すると設定ファイルが開くので下記のようにした。{ "path": "/usr/local/bin:$PATH", "cmd": ["php", "-f", "$file"], "selector": "source.php", "encoding": "cp932" }path:自分のphpコマンドの場所 cmd:実行するコマンドとパラメーターを配列形式で記述する(利用可能な変数は

  • 3分でできる俺PHPテスト環境 - ぷぎがぽぎ

    ※この記事はVOYAGE GROUP エンジニアブログ : Advent Calendar 2012の15日目の記事として書いてます。 3種の神器 PHPUnit, Stagehand_TestRunner, Phake 初めての方はじめまして。いつもの方こんにちは。 VOYAGE GROUP の adingo という会社で 広告配信に関わる Webアプリケーション開発エンジニアをしている @brtriver です。 今日は実際の現場でも使っているPHPの開発環境構築Tipsということで みんな大好き PHPUnit 、 自分は大好き Phake 、毎回テストを手動で実行するのが許されるのは小学生までだよねー Stagehand_TestRunner の 3つを3分でプロジェクトごとにインストールする方法を書いてみます。 何も考えず composer.jsonをコピペで用意 プロジェクト

    3分でできる俺PHPテスト環境 - ぷぎがぽぎ
  • PSR-2 コーディングガイド(日本語)|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    このガイドはPSR-1に準拠し、標準的なコーディング規約のためのスタイルガイドです。 このガイドの目的は、複数メンバーがコードを読む際の認識のずれを抑えることです。 これはPHPコードをどのような書式にするかについて、ルールや期待値を共有することで実現します。 スタイルルールは、様々なプロジェクトの共通内容から生み出されています。 様々な作者が複数プロジェクトを横断して協力しあうことで、全てのプロジェクトで有用なガイドライン策定の助けとなります。 従って、このガイド来の利点は、ルール自体にはなくルールを共有することにあります。 文書内記載されている "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 及び "OPTIONAL" は、RFC 21

    PSR-2 コーディングガイド(日本語)|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
  • PHP Framework MVC Benchmark - v20111201-4 | ruilog

    Case Test Simple "Hello World" page output, Simple MVC logic(Router -> Controller -> Viewer), No Database Connections, No complex logic. Hardware platform CPU: Intel Core i5 750 (2.67GHz x4) RAM: 4GB Software Environment Debian 6.0.4 x86_64 (2.6.32-41) apache 2.2.16 (mpm-prefork,mod-php5) php 5.3.10 php-apc 3.1.9 (Optimization for include/require) Copy all projects to /dev/shm/* (Optimization for

    array08_12
    array08_12 2012/12/13
    ZFやばいwww
  • Pinocoでシンプルに正しく(&ぶっちゃけで)DIを理解する - なんたらノート第三期ベータ

    Pinocoだって実はすごいんだぞ、Pimpleになんて負けないもん、というわけで、 PHPメンターズ -> Pimpleでシンプルに正しくDIを理解する をPinocoで理解してみようというネタをやります。先にこれを見ておいてください。 あ、「Pinocoってなんやねん、あっちょんぶりけかよ」って思った人すみません。Pinocoは拙作のマイクロフレームワークです。いわゆるオレオレの一種ですが、オレオレにしてはかなりよくできたほうだと思います。RESTなAPIを作る他のと比べて、どっちかといえばWebサイトを作るほうが強い感じのヤツ。 https://github.com/tanakahisateru/pinoco で、DIですよ。依存性注入ですよ。楽しんご的なアレじゃないですよ。オブジェクト指向ですよ。 Pinocoの第一印象はみんな「プレーンPHPっぽいね」で、それはそれで狙い通りなん

    Pinocoでシンプルに正しく(&ぶっちゃけで)DIを理解する - なんたらノート第三期ベータ
  • lessphp と mod_rewrite を使って快適なless開発環境を作る - プログラマー幸福論

    Photo by [ changó ] via photopin たまには、開発系のことも書きたくなったので、今開発で使っている lessphp のことについて書いてみます。今回は、lessphp という less の PHP版と mod_rewriteを連携してみました。 1. Less とは Lessは、CSSの拡張構文を使えるようになるCSSの拡張メタ言語です。ネストや変数、ミックスインなどが使えるようになるので、効率的にCSSを記述、そして管理できるようになります。必ずlessで記述しなければならないというわけではく、CSSの記述も普通に使えるので(一部を除き)、lessの記述をしたい場合だけless構文を使うといったボトムアップのアプローチができるのもいいところです。 以下は、lessの構文の一例です。詳しく知りたい方は、むゆうさんの記事などで詳しく解説されていますので、そちらを

    lessphp と mod_rewrite を使って快適なless開発環境を作る - プログラマー幸福論