タグ

phpに関するhibiki_koyoのブックマーク (52)

  • 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のブログ
  • php.iniの場所 php.iniの探し方 - tweeeetyのぶろぐ的めも

    はじめに すごく初歩的ですが、 誰かにphp.iniの場所を聞かれた際にすぐ探せる方法 phpinfoから探す 今開発中、これから開発どちらでも良いのでアプリやphpを書こうとしてるファイルでphpinfo関数を呼び出す (できればなるべく最初のほうで) phpinfo();←これだけこんな感じで画面に出るのでその中で"Configuration File (php.ini) Path"的なところに記載されてると思います phpコマンドで探す phpが既に入ってればですが、phpコマンドで探します。 他のオプションもあるのでその他の情報も見れますね! 知ってるとたまに便利な php コマンドのオプション phpマニュアル コマンドラインオプション php -i iオプションでほとんどの情報が見れます。他の情報を見たい場合もいいですね。 # php -i | grep php.ini C

    php.iniの場所 php.iniの探し方 - tweeeetyのぶろぐ的めも
    hibiki_koyo
    hibiki_koyo 2015/09/21
    php --iniで現在loadされているphp.iniの場所が分かる
  • PHP 7のパフォーマンスが高い理由

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHP 7のパフォーマンスが高い理由
  • PSR-0, 1, 2を日本語に翻訳してみました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    PSR-0, 1, 2を日語に翻訳してみました はじめまして。onoと申します。 このたび唐突にPHP-FIGのPSR内容を日語に翻訳してみました。 1. PSRとは 一言で表すと、PHPの標準コーディング規約です。 それならもう色々あるよねってお話なんですが、 PHP-FIG(PHP Framework Interop Group)というグループには各フレームワークだったりライブラリだったりの関係者が参加しています。 SymfonyだったりZFだったりPEARだったり。 そんな豪勢なメンバーが共通点を見つけながら、ルールを組み立てていきましょう!という背景のもと、共通内容を整理した規約集がPSRということになります。 1-1. 公開します 今回PSR翻訳してみましたが、様々なツッコミを恐れずに公開することにします。 PSR-0 – オートローディング規約(原文) PSR-1 – 基

    PSR-0, 1, 2を日本語に翻訳してみました|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    hibiki_koyo
    hibiki_koyo 2015/09/16
    PSR-2はPSR-1への準拠も含んでいるけど、PSR-0への準拠は含んでいないのか。クラス管理上破る気には全くならないですが。
  • PHPの依存管理ツールComposerのcomposer.jsonのプロパティの一覧

    こんにちは、@9ensanです。 今回はComposerでライブラリを管理したり、環境を作成する肝になるcomposer.jsonの記述される項目の説明です。 項目数が多いので今回は、どのような項目があってどのような値を設定するのか簡単に説明していきます。 それでは、解説です。 まず、大前提としてcomoser.jsonは、JSON形式で記述します。 こちらにcomposer.json用のJSON schemaが作成されているので、記述ルールについて疑問な時は確認してみるといいかと思います。 実際にこのJSON schemaはComposerのvalidateコマンドでも使用されているものになります。 どのようなものが存在するのか、簡単な説明と一緒に記述します。 name:パッケージ名を「vendor/project」の形式で記述します。 description:説明文。だいたい1行くらい

    PHPの依存管理ツールComposerのcomposer.jsonのプロパティの一覧
  • [PHP]ComposerのCLIで利用できるコマンドの説明

    こんにちは、@9ensanです。 PHPの依存管理ツールの「Composer」を使おうと思うとコマンドを覚えておいた方がいいと思うのでちょっと調べてみました。 以下解説になります。 全てのコマンドに有効なオプション –verbose(-v):詳細メッセージを表示させる。 –help(-h):ヘルプを表示する。 –quiet(-q):メッセージを表示しない。 –no-interaction(-n):対話型のメッセージを表示しない。 –working-dir(-d):作業フォルダを指定する –profile:メモリ使用量と実行時間を表示する。 –ansi:ANSIカラーでメッセージを出力する。 –no-ansi:ANSIカラーを使用せずにメッセージを出力する。 –version(-V):バージョンを表示する init composer.jsonを作成するコマンド、手で書くよりは少し簡単に作成で

    [PHP]ComposerのCLIで利用できるコマンドの説明
  • MVCモデルにおけるサービスの役割について教えて下さい

    CakePHPという、1つのフレームワークの中での、1つのとらえ方については 他の方の回答が参考になると思いますが、一歩引いて一般的にMVCとサービスというのがどういう関係にあるのか、それぞれの言葉の意味という点で回答します。 質問ではMVCについて、次のように書かれています。 コントローラはユーザからの要求に対して必要な処理を抽出し、 ビューは結果などを伝えるために表示するもの、 モデルはコントローラから要求される処理をまとめておくものだと認識しています。 この分類はそんなに間違っているということはありません。しかし、実際「コントローラから要求される処理」にはいろいろな種類のものがあります。たとえば、 DBに情報を保存する/DBから情報を取得する メールを送信する アップロードされた画像ファイルのサムネイルを作成する があります。これらの何がモデルで、何がビジネスロジックで、何がサービス

    MVCモデルにおけるサービスの役割について教えて下さい
  • PHP 5.3.4以降ではヌルバイト攻撃が成立しにくくなった - hnwの日記

    今回はWebセキュリティの話題です。実はid:t_komuraさんの記事で既報なんですが、案外知られていない気がしたので改めて紹介します。 PHPアプリケーションに特化した攻撃手法として、ヌルバイト攻撃というものがあります。PHPの大半の関数がヌル文字\0(0x00)を文字として認識する一方、Cの関数を直接呼び出すような一部関数では文字列の終端文字として機能することがあり、このねじれを利用する攻撃のことを言います。 特に、これまではディレクトリトラバーサル脆弱性やLFI(Local File Inclusion)脆弱性との組み合せでヌルバイト攻撃が言及される印象がありました。例えば次のような状況です。 <?php function __autoload($class_name) { require 'lib/' . $class_name . '.php'; } $obj = new $_

    PHP 5.3.4以降ではヌルバイト攻撃が成立しにくくなった - hnwの日記
  • Symfony2入門(1) 〜とりあえずインストール編〜 | QUARTETCOM TECH BLOG

    Symfony2 入門という事で、とりあえずブログチュートリアル的な事をはじめようかと思います。 CakePHP と何が違うの? オブジェクト間のデータ受け渡しが配列からオブジェクトになる 連想配列のタイポ等のミスがなくなる そもそも連想配列の構造を覚える必要がなくなる タイプヒンティングが使えるのでIDEとの親和性が高い DI(DependencyInjection)が組み込まれている 疎結合 なのでテストがしやすい そのうえコンポーネントも豊富 しかもコンポーネントの動作も変更する事ができる 更にはフレームワークの動作までも変更する事ができる if (Config::read('debug') === 2) {} とか訳の分からないコードを書かなくても良い。 他にも Doctrine(ORM) 様々な抽象レイヤー(関心の分離) などなど… 他にもたくさんありますが、とりあえずこんなとこ

    Symfony2入門(1) 〜とりあえずインストール編〜 | QUARTETCOM TECH BLOG
  • BEAR.Sundayでapiアプリを作ってherokuで公開してみたメモ | QUARTETCOM TECH BLOG

    BEAR.Sunday Advent Calendar 2014 の4日目の記事です。 herokuを使ってBEAR.Sunday 製のjson APIを公開してみたので、その際の設定メモです。 開発 まず、BEAR.Sundayでアプリケーションを作ります。 ビルトインサーバーで充分にデバッグしましょう。 herokuにデプロイ アカウント作成 まず、herokuのアカウントを作ります。 http://heroku.com toolbeltのインストール PCheroku toolbelt をインストールします。toolbeltはMac,Windows両方が用意されています。 ログイン 対話シェルでメールアドレスとパスワードを聞かれるので、アカウントを作った時のメールアドレスとパスワードでログインします。 まだSSH鍵をherokuに登録していない場合はここで登録もできます。 her

    BEAR.Sundayでapiアプリを作ってherokuで公開してみたメモ | QUARTETCOM TECH BLOG
    hibiki_koyo
    hibiki_koyo 2015/03/24
    herokuにPHP乗っけられるんだ!
  • 覚えておきたい「シリアライズ serialize」 | hijiriworld Web

    シリアライズとは、ソフトウェア内部で扱っているデータをそのまま、保存したり送受信することができるように変換することです。 データベースに配列データをそのまま保存したい時などに使います。 通常、データベースには「フィールド:値」という形式で保存される為、配列データをそのまま保存することはできません。 仮に「array(‘a’, ‘b’, ‘c’)」という値を保存したとしても、それはただの 文字列 にすぎません。 一方、シリアライズすると、配列データを配列データとして保存することができます。 特に、配列の要素数や構造が動的に変化するデータを取り扱う場合には、必ずと言っていいほど使うでしょう。 では、シリアライズによって、データがどのように変換されるかを見ていきます。 まずはPHPのシリアライズから。 PHP – serialize() シリアライズ シリアライズ後の文字列は「型:値」の形式に変

  • unshift, shift, pop, pushが混乱するので、絵で整理した - maeharinの日記

    配列の追加・取り出しに関する4つのメソッド(unshift, shift, pop, push)がいつも混乱するので絵で整理した。 絵にすれば覚えられそう!いちお練習のため、自分がよく使うRuby, PHP, JavaScriptでコードも書いた。 ・いずれの言語においても上記4つのメソッドは似たような名前で存在しており、用途も同じ。 ・いずれの言語のいずれのメソッドも破壊的メソッド。 ・言語、バージョンによってメソッドの返り値は異なる。 という具合だった。 Ruby ruby 1.9.2 # unshift a = [1, 2, 3] b = a.unshift 0 p a #[0, 1, 2, 3] p b #[0, 1, 2, 3] # shift a = [1, 2, 3] b = a.shift p a #[2, 3] p b #1 # pop a = [1, 2, 3] b =

    unshift, shift, pop, pushが混乱するので、絵で整理した - maeharinの日記
    hibiki_koyo
    hibiki_koyo 2014/10/21
    とても分かりやすい!
  • PHPのcall_user_funcであそぶ

    さんのとこで記事が上がっていたけど、無名ではない。普通には呼び出せない名前の付けられた関数。 コメント欄に書かれているように関数名として許容されないNULL文字が入ってるだけ。うーむ。 create_function の戻り値がstringでlambdaNなのは知ってたけど、アタマにNULLが入っているのは知りませんでした。 $fn = ( create_function('$a,$b',"return \$a+\$b;") ); for ( $i = 0; $i < strlen($fn); $i++ ) { printf("%s\t%02x\n", $fn[$i], ord($fn[$i])); } これで実行すると 00 l 6c a 61 m 6d b 62 d 64 a 61 _ 5f 1 31 こうなってたしかにアタマにNULLが入っている。結果としてソースコード上で定義された

    PHPのcall_user_funcであそぶ
    hibiki_koyo
    hibiki_koyo 2014/10/17
    仕事中に見つけて読みたくなった記事です
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • Good Parts of PHP and the UNIX Philosophy

    PHP の良いパーツとして stream, Iterator, Generator を紹介します。 これらはファイルやコレクションに対して統一的な操作を提供し、小さな関数を組み合わせた関数型プログラミング的なアプローチの助けになります。 また、そういったテクニックの根底にある、UNIX 哲学についても紹介します。Read less

    Good Parts of PHP and the UNIX Philosophy
  • フラットなPHPからSilexへ - ぷぎがぽぎ

    追記 DB接続時にcharset=utf8を指定 bindValueで暗黙の型変換されないように変更 Pimpleをサービスロケータとして使う場合の注意点を追加 テンプレートとしてフラットなPHPからTwigで書いた場合を追加 前提 スクリプト、ファイル、DBの文字コードはすべてUTF-8で統一です。 また、最初に以下のMySQLのテーブルがあることを前提として記事を書いています。 Database: MySQL user: myuser password: mypassword CREATE TABLE `blog_db`.`post` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `body` text NOT NULL, `date` date NOT NULL, PRI

    フラットなPHPからSilexへ - ぷぎがぽぎ
  • PHP フレームワークを理解する為のフロントコントローラとページコントローラ | h19e

    一定期間更新がないため広告を表示しています

    PHP フレームワークを理解する為のフロントコントローラとページコントローラ | h19e
  • PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...

    使える言語の幅を広げたいと思ってPHP カンファレンス 2014に参加してきました。徳丸さんの「安全な PHP アプリケーションの作り方 2014」は改めて自分のセキュリティの知識を確かめるのに大変有意義だったのですが、何より感動したのが Facebook の Paul Tarjan による「HHVM + Hack == PHP++」のセッションでした。 すごく簡単に僕が理解した限りで HHVM/Hack を紹介すると、HHVM とは PHP の処理系の一つの実装です。その特徴は JIT コンパイルにより超高速になっていることに加え、圧倒的な魅力は PHP の Extension(C 拡張ライブラリ)の多くが実装されていて PHP のメジャーなフレームワークが問題なく動作するということです。つまりもう実践で戦えるということ。そして、Hack というのは HHVM が処理できるもう一つの言語

    PHPカンファレンス2014でHHVM/Hackの話を聞いて感動した - As a Futurist...
    hibiki_koyo
    hibiki_koyo 2014/10/12
    非常にエキサイトしました、バイトコードをデプロイするというのはもはやスクリプト言語では無いですねw
  • はてなブログ | 無料ブログを作成しよう

    南関東の「いろんなところから富士山が見える」状況に驚きつづけている 大阪から東京に引っ越して30年以上経つが、じわじわと蓄積されてきた驚きがついに閾値を超えたので筆を執った次第である。正確には「ポメラ DM250を起動してmenuキーを押して新規作成を選んだ」のだが、ポメラを持っていなかったら、さらに驚きが蓄積されていないと…

    はてなブログ | 無料ブログを作成しよう
  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.