タグ

PHPに関するyk5656のブックマーク (315)

  • よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog

    注:これは「HHVM/Hack」シリーズのパート1です。 記事は英語版ブログで公開された記事の翻訳版です。 Facebookは2014年3月20日、HHVM用のプログラミング言語「Hack」をリリースしました。この記事ではHHVMとは何かを紹介しつつ、Hackについて詳しく見ていこうと思います。 Facebookは(おそらく)世界最大級のPHPインスタレーションですが、近年はPHP5を離れ独自開発によるソリューションに向かっています。 ここまできても、まだPHP環境と呼べるのでしょうか?答えは「もちろん」と「とんでもない」の中間ぐらいといえます。 HHVM(HipHop Virtual Machine)の簡単な歴史 Facebookは初めに「HPHPc」というPHPからC++へのコンパイラを作りました。 これはFacebookの膨大なコードベースをC++コードに変換し、そこからコンパイル

    よりよいPHPを作る — パート1:HHVMとHack [和訳] - Engine Yard Blog
    yk5656
    yk5656 2014/08/13
  • PHPerの書くコードの保守性・管理性が劇的に上がるのスマートな方法

    みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がる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 (炎上したら即

    yk5656
    yk5656 2014/08/12
  • 「保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選」が酷すぎて草 - Qiita

    http://bulkserver.jp/blog/2014/08/07/php-code/ 正直釣りではないかと疑うレベル。 1.括弧の省略 この括弧は基的にはつけますが、中の実行コードが1つだけの場合は省略することができるのです。 命令が二つ以上であれば括弧でくくる必要があります。セミコロン(;)が2個以上のときはカッコでくくり、1個の場合は省略してもよいと覚えるといいでしょう。 省略することで見やすくなるので、おすすめです。 いきなり有り得ない。 {}の省略は絶対的悪手で厳禁です。 PSR-2 http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html 各構造文は、中括弧で囲わなければなりません。 これは構造の見え方を標準化し、追加実装等が発生した際のエラーを抑えます。 Zend framework h

    「保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選」が酷すぎて草 - Qiita
    yk5656
    yk5656 2014/08/12
  • CakePHPのセッション管理をElactiCache Memcachedで

    CakePHP is an open-source web, rapid development framework that makes building web applications simpler, faster and require less code. It follows the model–vie... をみると、ダウンロードのリンクが https://codeload.github.com/cakephp/cakephp/zip/2.4.3 だったので、 $ cd /var/www/html/ $ sudo curl -O https://codeload.github.com/cakephp/cakephp/zip/2.4.3 % Total % Received % Xferd Average Speed Time Time Time Current Dload

    CakePHPのセッション管理をElactiCache Memcachedで
    yk5656
    yk5656 2014/08/12
  • PHP 5.4.4で==演算子の挙動が変わっていた | スラド デベロッパー

    PHPの==演算子は複雑な挙動をすることが知られているが、2012年にリリースされたPHP 5.4.4で変更された==演算子の挙動についての話が話題になっている。 PHP 5.4.4より前は、「'9223372036854775807' == '79223372036854775808'」という式がtrueを返していたのが、PHP 5.4.4ではこれがfalseを返すように変更された、という話なのだが(Bug #54547 wrong equality of string numbers)、この変更により、今度は「'9999999999999999999.0' == '9999999999999999999.1'」という式がtrueになってしまう、という別の問題が発生してしまった模様。 こうなってしまう原因については元記事で説明されているが、PHPにおいて「==」演算子は数値文字列同士を比

    yk5656
    yk5656 2014/08/11
  • PHPだけど速ささえあれば関係ないよねっ - 私の昆布

    これは 1 年 7 ヶ月 6 日 前に投稿されたものです。最新のものではありませんので、間違っているかも知れません。 そんなこと無いわけで。 さて、PHPの高速化といえば、 コード最適化 Accelerator入れる PHP Extensionを作る くらいだと思いますが、今回は「PHP Extension」を使いたいと思います。 なお、この記事で登場するPHPのバージョンは、5.3.3です。 SWIGを使う 素でPHP Extensionの作成となると、覚えることが多くて結構大変なので、「SWIG」というものを利用します。 これは、C/C++のプログラムをPHPを含めたインタプリタ言語やJava、C#などで半自動的に使えるようにしてくれるというものです。便利ですね。 「.i」というSWIGに向けた処理内容を示した「インターフェースファイル」というものを作成する必要がありますが、一度作れ

    PHPだけど速ささえあれば関係ないよねっ - 私の昆布
    yk5656
    yk5656 2014/08/06
  • HerokuのPHPサポートが正式版に。PHP 5.5およびHipHop VM 3.1を利用可能

    HerokuによるPHPサポートは5月に試験的に始まっており、当初はFacebookが開発したPHP互換の高速な実行系であるHipHop VMを採用していました。 しかしその後、より高い互換性を実現するためにオリジナルのPHP実行系もサポート。PHP 5.5.13とHipHop VM 3.1.0の両方が利用可能になり、今回の正式版となっています。 Heroku Connectも強化 HerokuはForce.comのデータベースとHeroku Postgresのあいだでデータ同期を行うHeroku Connectの強化も発表しています。 新機能として、イベントドリブンなデータ同期、オブジェクトの指定をよりきめ細かく、10秒ごとにHeroku PostgresからForce.comのデータベースへの書き込みなどが追加されています。

    HerokuのPHPサポートが正式版に。PHP 5.5およびHipHop VM 3.1を利用可能
  • PHPにおけるタイプヒンティングでのClosureとcallableの違い

    by @dekokun on 2014/07/25 00:26 Tagged as: PHP, タイプヒンティング. 概要 Closureとcallable、どちらも無名関数に使えるタイプヒンティングなのですが、callableは無名関数以外でも関数名とかでもいけるけどClosureはそういうのいけないよという話。 @do_aki氏に感謝 詳細 PHPのタイプヒンティングで。 — でこくん (@dekokun) 2014, 7月 22 @dekokun 5.5 あたりから、Closure ベースで良いよって事になってたはず。 — どぅーあき (@do_aki) 2014, 7月 22 @dekokun http://t.co/mZdkKiY3EH — どぅーあき (@do_aki) 2014, 7月 22 @dekokun うんにゃ。 callable だと、文字列(関数名)や array

    PHPにおけるタイプヒンティングでのClosureとcallableの違い
    yk5656
    yk5656 2014/07/28
  • PHPのコーディング規約 PSR-0、PSR-1、PSR-2、PSR-3とは

    こんにちは、@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

    PHPのコーディング規約 PSR-0、PSR-1、PSR-2、PSR-3とは
    yk5656
    yk5656 2014/07/25
  • PHP Coding Guidelines & Best Practices

    PHP Coding Guidelines & Best Practices¶ Coding Standards are an important factor for achieving a high code quality. A common visual style, naming conventions and other technical settings allow us to produce a homogenous code which is easy to read and maintain. However, not all important factors can be covered by rules and coding standards. Equally important is the style in which certain problems a

    PHP Coding Guidelines & Best Practices
    yk5656
    yk5656 2014/07/25
  • Laravel - ウェブ職人のためのPHPフレームワーク

    ウェブ職人のためのPHPフレームワーク。 PHPに支障はありません。楽しくコーディングし、新しい息吹を楽しんでください。 RESTful ルーティング あなたの適用へのリクエストに応えるために簡単なクロージャーを使って下さい。 コマンド Your Data 素晴らしい Eloquent ORM と 素晴らしいマイグレーションシステムを完備しています。 美しいテンプレート 在来の PHP 、もしくは軽量の Blade テンプレート・エンジンを使用してください。Blade を好きになるでしょう。 明日の準備 Laravel は、いろいろな規模のプロジェクトに対応します。 実績のある土台 Laravel は Symfony コンポーネントの上に構築されます。 Composer で動く Composer はあなたの適用のサードパッケージを管理する、驚くべきツールです。 最高のコミュニティ Lara

    yk5656
    yk5656 2014/07/15
  • WEBアプリケーションフレームワーク(主にPHP)のルーティング処理について (never まとめ) - Feelin' Kinda Strange

    とくにまとめられてないメモ書きです。とくに主張とか結論はないです。(あ、Hello Worldベンチマーク?プギャーm9(^Д^) は言わずもがなです ) 前提:主にPHPではURLとアクションのマッピングについて上から順に以下のような変遷をたどってると思います(そうじゃないって突っ込みはいっぱいあるでしょうが) オールドスクール /foo/module.php?key=var 命名規則型 /controller/action/ => class Acontroller { function action(){ $parameter = func_get_args(); }} 宣言型 $router->add('/controller/action/{:param}', $actionName) ・命名規則型がやっかいな一例はこういう所です <?php class PostControll

    WEBアプリケーションフレームワーク(主にPHP)のルーティング処理について (never まとめ) - Feelin' Kinda Strange
    yk5656
    yk5656 2014/07/06
  • バイト戦士、PHPカンファレンス関西へ往く|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    バイト戦士、PHPカンファレンス関西へ往く こんにちは。 アルバイトプログラマとして、主に JavaScript を書いている take です。 大学生バイト戦士 3年目になります。 IL を代表して、先週の土曜日に開催されたPHPカンファレンス関西2014へ参加してきました。 人生初の出張です。 大阪産業創造館で開催された300人規模のカンファレンスです。 弊社もスポンサーとして協賛しています。 今回のテーマは「うまれかわる PHP」 基調講演での、次の言葉が印象的でした。 『PHP は一番美しい言語でもクールな言語でもないかもしれません。しかし、 PHP は変わり続けてきました。変わり続けるものが生き残ります。』 セッション一覧 基調講演: 全てを結ぶ力 PHPでOSSを維持し続けるには 初心者向け 1から学ぶPHP開発の基礎知識 Arduino を PHP で制御する PHP と S

    バイト戦士、PHPカンファレンス関西へ往く|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    yk5656
    yk5656 2014/07/04
  • Composerを使ってPHPのパッケージを簡単インストール

    連載では、Composerを使ったパッケージ管理を紹介します。PHPではデフォルトでインストールされているPEARがありますが、最近では、Composerというパッケージ管理ツールも使われつつあります。例えば、JavaなどではMavenのようなツールでパッケージ管理をしたり、Rubyではbundlerといったパッケージ管理が使われるなど、現在では多くの言語でパッケージ管理ツールが使われています。 パッケージ管理ツールを使うとプロジェクトで使われているライブラリの依存関係を管理しやすくなり、依存しているライブラリのインストールも簡単になります。CakePHPもComposerを使ってインストールができるようサポートしており、開発環境ではZend Studioなどでの標準サポートされているなど、PHPでの開発では必須知識といえるほどの広がりを見せています。 連載では、Composerの導入

    Composerを使ってPHPのパッケージを簡単インストール
    yk5656
    yk5656 2014/07/02
  • JenkinsでPHPプログラムをデバッグしてみよう!!

    先日社内でJenkinsについての勉強会を行ないました。 勉強会を行った際に、JenkinsでPHPプログラムをデバッグしてみましたので 今回はJenkinsを用いてPHPプログラムをデバッグするまでの設定方法について書きたいと思います。 PHPでJenkinsを使ってみたいが、設定がわからないという方は参考にしてください。 Ⅰ:環境 以下の環境で設定を行ないました。 ・OS:Centos6 ・PHP:5.3 ・フレームワーク:ZendFramework ・JenkinsURL:http://jenkins.example.com:8080 (URLはJenkinsをインストールしたマシンのアドレスに変更してください) Ⅱ:サーバ上に準備するもの 1:必要なソフト一覧 ①:Phing phpcs,phpmd,phpcpd,phpDocumentor,phpunitを一括管理することができる

    JenkinsでPHPプログラムをデバッグしてみよう!!
  • 「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました

    PHPカンファレンス関西2014で「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました。 写真提供:久岡写真事務所 別トラックに人気セッションがひしめく中、多くの方に聴いて頂き、ありがとうございましたm(_ _)m 発表内容 PHP 中級者(中級がどこかというのはありますが)を目指す初心者の方を対象に、FizzBuzz のコードを、関数にまとめて、クラス化するというのをライブコーディングで行いました。 また、関数にまとめた段階で、自動テストを書いて、実行結果を目で確認するのではなく、テストを実行して確認するというスタイルを取りました。 発表資料は以下です。 コードを書きながら進めていく形なので、資料だけでは少し伝わらない部分があるかもしれません。 デモで書いた PHP コードは、GitHub で公開しています。Sample1, Sample2 とディレクトリが分かれてい

    yk5656
    yk5656 2014/06/30
  • Heroku で作るスケーラブルな PHP アプリケーション

    第16回関西PHP勉強会で、「Heroku で作るスケーラブルな PHP アプリケーション」という発表をしてきました。 発表資料 Heroku でちゃんと動く PHP アプリケーションを作ると、自然とスケーラブルな構成になりますよ、という内容です。 会場でも、Heroku 自体は知っているが、まだ使ってはいないという人が多かったので、細かな Tips は省いて、こういった構成でやりますよというイメージをお話しました。 実際に構築する上での Tips などは、また別の機会に話してみたいです。 サンプルアプリケーション サンプルアプリケーションとして、簡単な画像アップロードサイトを Laravel 4.2 で作りました。 https://github.com/shin1x1/laravel-on-heroku アプリケーションデータは、以下のアドオンへ保存するようにしています。画像ファイルは、

    yk5656
    yk5656 2014/06/20
  • れいさの本当に目が覚めるPHP - Togetterまとめ

    全てのリンク先で肝が冷えます。 PHPerの早朝のネタトークが思いの外インパクトがあったのでまとめただけです。 PHPや利用者がどうこうという文脈ではありません。 ※タイトル変更しました。

    れいさの本当に目が覚めるPHP - Togetterまとめ
    yk5656
    yk5656 2014/06/13
  • PHP の file_get_contents は get どころか post も put も delete も upload もできる - tototoshi の日記

    stream_context_create と組み合わせて使います。 手元でてきとーに動かしてた REST API とかで試してます。 get 普通ですね。 <?php $content = json_decode(file_get_contents("http://localhost:5000/api/note/161")); post <?php $context = stream_context_create( array( 'http' => array( 'method'=> 'POST', 'header'=> 'Content-type: application/json; charset=UTF-8', 'content' => json_encode( array( 'title' => 'file_get_contents で POST', 'raw' => "file

    PHP の file_get_contents は get どころか post も put も delete も upload もできる - tototoshi の日記
    yk5656
    yk5656 2014/06/10
  • PHP v5.4.28, v5.5.12以降で必要なPHP-FPMの設定

    PHP v5.4.28 と v5.5.12での修正点PHP v5.4.28, v5.5.12 では、CVE-2014-0185 に対するパッチが当てられており、PHP-FPMで使用されるソケットファイルのデフォルトパーミッションが666から660に変更されています。ですので、運用環境によっては、WebサーバがPHP-FPMのソケットファイルにアクセスできなくなり、今まで問題なく動いていたWebサイトがエラーで見られなくなることになります。 必要になる設定対応策は簡単で、PHP-FPMの設定ファイル内にある listen.owner や listen.group に、Webサーバからアクセスできるような所有者・所有グループを設定するだけです(この設定が、ソケットファイルの所有者・所有グループになります)。その後で PHP-FPMを再起動して下さい。 設定例; ソケットファイルの所有者をセット

    PHP v5.4.28, v5.5.12以降で必要なPHP-FPMの設定
    yk5656
    yk5656 2014/06/08