タグ

phpに関するsyossanのブックマーク (14)

  • やはりあなた方のDependency Injectionはまちがっている。 — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something

    今日はPHP界隈で大人気のDependency Injectionと、それに関連する用語について整理しておこうと思います。 以下のような状況があるのではないか?と思ったからです。 多くのPHPユーザがDependency Injection(DI)をよくわかっていない、あるいは正確に説明できません。 そして、デザインパターンである「DIパターン」とDIをサポートするツールである「DIコンテナ」を混同しています。 また、「DIパターン」と「サービスロケータパターン」をうまく区別できていません。 Dependency Injectionとは何か? Dependency Injectionとは「Dependency」を「Injection」するというデザインパターンです。 日語では何故か「依存性の注入」と訳されており、これが混乱の元ではないかと思います。 日語で「依存性」と言うと、「依存性は

  • PHPのバージョン管理が出来るPHPBrewというものをインストールしてみた。

    環境 CentOS 6.6 Amazon Linux 2015.03 hvmでも検証済 phpbrewのインストール epelとremiを入れる wget https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo rpm -Uvh epel-release-6-8.noarch.rpm sudo rpm -Uvh remi-release-6.rpm enableを0に変更する sudo vim /etc/yum.repos.d/epel.repo yumでupdate sudo yum update 色々必要っぽいの入れる(実はこの必要なものでよくインストール

    PHPのバージョン管理が出来るPHPBrewというものをインストールしてみた。
    syossan
    syossan 2015/04/11
  • PHPMD(PHP Mess Detector) を試してみた - renoivのブログ

    ZendStudioに同梱されている「ZendCodeAnalyzer」というツールを業務で使ってたんですが, 残念ながらZend Studio 7 評価版で確認したところ含まれていないようです。*1 ※ZendCodeAnalyzerを使用するにはZendStudioのライセンスが必要です。 そこで代わりになるものを探してたらありました,PHP Mess Detector です。 PHPMDとは,JavaでいうところのPMDで,以下のような問題を見つけてくれます。 バグの可能性 準最適なコード 複雑な式 未使用パラメータ,メソッド,プロパティ 今日(2010/05/26)時点の最新版が,PHPMD 0.2.5 (2010/04/03 released) なので,早速このバージョンで試してみます。 前提環境 PHP >= 5.2.3 PHP_Depend >= 0.9.11 [root@l

    PHPMD(PHP Mess Detector) を試してみた - renoivのブログ
    syossan
    syossan 2014/12/11
  • HaltEria.com is for sale | HugeDomains

    Make 36 monthly payments Pay 0% interest Start using the domain today. See details

    HaltEria.com is for sale | HugeDomains
    syossan
    syossan 2014/12/08
  • ”memory leak”が止まらない | iret.media

    何も実行してないPHP 要するにPHPのヘッダーだけのコード 当に何もしてない こいつをまずはValgrindでチェックしてみる ==2783== LEAK SUMMARY: ==2783== definitely lost: 15,176 bytes in 1,067 blocks ==2783== indirectly lost: 2,662 bytes in 44 blocks ==2783== possibly lost: 0 bytes in 0 blocks ==2783== still reachable: 81,456 bytes in 2,693 blocks ==2783== suppressed: 0 bytes in 0 blocks こんなん返ってきた phpのbinaryだけでDefinnnitely lostが15,176 bytes、indirectory

    ”memory leak”が止まらない | iret.media
    syossan
    syossan 2014/11/21
  • PHP コードの整形はプログラマがやるべきことじゃない

    PHP には、PSR が策定されたおかげで、これをベースにコーディングスタイルがある程度整ってきました。 ここ近年開発がはじまったプロジェクトなら、PSR-1/2 をコーディングスタイルとして採用しているプロジェクトも多いのではないでしょうか。 せっかく採用したなら、実際に書くコードはできるだけこの基準に沿うようにしたいものです。ただ、ここにあまり手間をかけるのも末転倒です。そこで、手間をかけずに、コーディングスタイルに従えるような方法を模索してみました。 開発環境には、PhpStorm を使う前提です。 PhpStorm の PSR1/PSR2 ルール まず、PhpStorm の Code Style で、PSR1/PSR2 をルールとして設定しました。 プロジェクト毎に規定したいので、Scheme はProjectにして、set from...をクリックして、Predefined S

  • より高速に、推測困難な一意なIDを生成する方法 - [サンプルコード/PHP] ぺんたん info

    PHPでは、一意なキーを生成を生成するのに、uniqid()があります。 これは現在時間をマイクロ秒単位にしたものを使用しています。 つまりランダムというより、重複のない一意な値となります。 戻り値は、『 4a4f513eb71b1 』のような半角英数字の13文字です。16進数文字なので、「0から9 aからf」です。 第一引数にはプレフィックス、第二引数には追加のエントロピーの使用の有無を渡すことができます。 第二引数はデフォルトは false になっていますが、trueにするとドット『 . 』と数字9文字が追加され、文字数が23文字になります。 『 4a4f5caadd40c2.19903592 』このような値です。 半角英数字のみにするにはsha1ハッシュ変換します。 sha1( uniqid( null , true ) ) sha1の戻り値は、40文字の半角英数字(0から9 aから

  • PHPでもCoverallsできるよ!

    先日公開された、クックパッドがChankoを2.0に増量しました、というエントリーを読んでいたら、Travis CIと連携するサービスが2つ紹介されていた。CoverallsとCode Climateだ。それぞれ、カバレッジ計測、静的コード解析のサービスとなっている。CoverallsについてはAPIが公開されているので、PHPで書いたライブラリをGitHubに公開してみた。 php-coveralls これ。 satooshi / php-coveralls CoverallsはTravis CIとか、他のCIサービスと連携して動くサービスなので、GitHubにpushしたタイミングで、CIサーバーでテストが実行され、そこで計測したカバレッジが登録される、という流れ。 ビルド毎のコードカバレッジ一覧。 タイムライン。 いいテスターとわるいテスターも表示される。 ビルドの詳細。 ファイルの

    PHPでもCoverallsできるよ!
    syossan
    syossan 2014/08/26
  • 新標準PSRに学ぶきれいなPHP

    16. 豪華なメンバー陣 Nate Abele: Lithium Robert Lemke: FLOW3 Nils Adermann: phpBB Larry Masters: CakePHP, CakePHP 2 Brett Bieber: PEAR, PEAR2 Ryan Parman: Amazon Web Services Guilherme Blanco: Doctrine, Doctrine2, SDK et al. Evert Pot: SabreDAV Jordi Boggiano: Composer, Packagist Fabien Potencier: Symfony, Symfony2 Karma Dordrak: Zikula Andre Romcke: eZ Publish Paul Dragoonis: PPI, PPI2 Paul Scott: Chisim

    新標準PSRに学ぶきれいなPHP
  • 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 (炎上したら即

    syossan
    syossan 2014/08/13
  • PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

    PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい

    PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記
    syossan
    syossan 2014/08/11
  • Laravel - ウェブ職人のためのPHPフレームワーク

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

  • 空文字とかNULLとか0とか

    お久しぶりです。塚原です。 暑かった夏も終ってやっと秋らしくなり過ごしやすくなってきました。 最近やたら眠いですが、モリモリ開発しております。 この前ちょっとした不具合があり、なるほどねぇ~と思ったのでご共有。 数が多い分岐などに便利なswith文ですが、意外に落とし穴があるみたいです。 検索で絞り込みしたいときに書いた次のコード const COUPON_UNUSED = 0; const COUPON_FINISHED = 1; const COUPON_EXPIRED = 2; $status = $_POST['status']; switch( $status ){ case COUPON_UNUSED: echo '未使用'; break; case COUPON_FINISHED: echo '使用済'; break; case COUPON_EXPIRED: echo '期

  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

    syossan
    syossan 2014/07/02
  • 1