タグ

PHPとphpに関するmanatenのブックマーク (238)

  • 【導入決定!】PHP7で実装されるスカラー型宣言とは? | 東北ギーク

    * NaN でなく PHP_INT_MIN から PHP_INT_MAX までの範囲内の値に限る ** 数値形の文字列のみ。数値形の文字列に他の文字が続く場合も使えるが、 Notice が出る *** __toString メソッドを持つもののみ 弱い型検査モードで行われる暗黙の型変換は、PHP が従来他の構文(算術演算子や条件式、組み込み関数の呼び出しなど)で行ってきたのと同等のものです。 厳密モード 一方、厳密な型検査のモードを使う場合は、関数は宣言されたのと正確に一致する型のみを受け付けるようになります(int → float の拡大変換をのぞく)。 ファイルの先頭に declare(strict_types=1); と書くことで、そのファイル内での関数呼び出しの際に厳密モードでの型検査が行われるようになります*1。 以下のように使います。 <?php declare(strict_

    【導入決定!】PHP7で実装されるスカラー型宣言とは? | 東北ギーク
    manaten
    manaten 2015/04/21
  • 今までのPHPのやり方を全て打ち捨てよう - 絵描いたりコード書いたりする奴の独白

    PHPは日々進化している 最重要な言語仕様の変更点 PHP 5.3.x 名前空間 レイトスタティックバインディング クロージャ PHP 5.4.x trait ビルドインサーバ クロージャで$this PHP 5.5.x ジェネレーター Composer PHPにとってのBundler PEARの環境依存やめよう PECL?知らん PSR-4 includeやrequireをもう使う必要はない PSR-4の規約にそって名前空間とディレクトリを掘ろう そしてcomposer.jsonにちょいちょいと { "autoload": { "psr-4": { "mynamespace\\": "src/" } } } そしてbootstrapに相当するphpスクリプトに require_once 'vendor/autoload.php'; これだけで後はuseをjavaのimportに相当するも

    今までのPHPのやり方を全て打ち捨てよう - 絵描いたりコード書いたりする奴の独白
    manaten
    manaten 2015/04/19
    一年前の記事じゃん
  • Welcome to nginx!

    If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com. Thank you for using nginx.

    Welcome to nginx!
  • PHP - 憂鬱な希望としての PSR-7 - Feelin' Kinda Strange

    tl;dr PSR-7は普段PHPにてHTTPメッセージを扱うインターフェイスとしてそこそこ十分に機能する。メインユースケースの8割は満たすだろうが、PHPのポテンシャルの5割にも満たないかもしれない。だがそれで良い。 「今年は PSR-7 が来る」 つい先日、PHP-FIGのHTTPメッセージ用インターフェイスに関するPSR(PHP Standard Recommendations)のステータスがレビュー段階に入った。 https://github.com/php-fig/fig-standards/blob/master/index.md そこでこのエントリではPSR-7のインターフェイスが実際のフレームワークとアプリケーション間での利用の際に上手く機能するかについて考察する。なお、OOPとしての正しさについては深く言及しない(ヘッダーについてのデメテルの法則や、イミュータブル性などだ

    manaten
    manaten 2015/03/07
  • composer 導入をまじめに考える - Qiita

    これは結構大きいPHPプロジェクトに composer を導入する機会があったので、そのときに考えてたことや行ったこと、使い方などをメモするために書いた。 モチベーション 私達は PHP のパッケージの管理を管理する際は pear と git submodule を利用していた。これらのやり方は意外と長続きした。これらにはついて様々な問題を抱えており、ついに限界がきてしまった。 pear pear でパッケージを導入するには root 権限が必要なので、毎回インフラチームに導入を依頼するのが必要があった。 pear で導入されたパッケージについてバージョンを上げようとすると、全APサーバーで更新をかける必要があった。 これらの点から面倒だったのと、気軽に変更できないので、不要になったものも削除されることなく、放置されるのが問題だった git submodule こちらは pear とは異

    composer 導入をまじめに考える - Qiita
    manaten
    manaten 2015/02/09
  • PHPとしても実行できるRubyの書きかた - Qiita

    p <<PHP_VERSION <?php PHP_VERSION ;print "\033[1F\033[1M"; //.tap{ define_method :range, -> s,e { s.upto e } } //.tap{ define_method :array_map, -> f,seq { seq.map{ |x| f.(x) } } } //.tap{ define_method :function, -> x,&b { -> x { $x=x;b.call } } } array_map(function($x){ print $x % 15 == 0 ? 'FizzBuzz' : ($x % 3 == 0 ? 'Fizz' : ($x % 5 == 0 ? 'Buzz' : $x)); print "\n"; }, range(1,100)); ruby php.

    PHPとしても実行できるRubyの書きかた - Qiita
  • PHP CS Fixerで快適PHPライフ - FLOG SPLASH

    2017/03/30 追記 新しいバージョン (v2.0) の記事を書きましたのでこちらもご覧ください fivestar.hatenablog.com この記事は PHP Advent Calendar 2014 の8日目の記事です。 コーディング規約が守れない方とお悩みの方も、チームメンバーがなかなか守ってくれないとお悩みの方も、 PHP CS Fixer があればもう安心。PHP CS Fixer が PHP コードをコーディング規約に沿って整えてくれるので、秩序ある PHP ライフが約束されるでしょう。 そんなこんなで PHP Advent Calendar 2014 の 8 日目ですね。みなさんこんにちは、 fivestar こと小川です。いつのまにかクロコスがなくなって Y の人になっちゃいましたね。 昨今は PSR (PHP Standard Recommendation) の

    PHP CS Fixerで快適PHPライフ - FLOG SPLASH
    manaten
    manaten 2014/12/08
    phpmdとともにコミットフックで使ってる。便利。
  • Array_merge versus +

    manaten
    manaten 2014/10/28
  • PHP版レガシーコード改善に役立つ新パターン #wewlc_jp

    9/27に行われたレガシーコード改善勉強会で発表された資料です。 http://passmarket.yahoo.co.jp/event/show/detail/01pitgwzj67m.htmlRead less

    PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
    manaten
    manaten 2014/10/21
    名前空間で標準関数の上書きもそれはそれで闇を産みそうではあるんだよなあ
  • 安全なPHPアプリケーションの作り方2014

    2. 徳丸浩の自己紹介 • 経歴 – 1985年京セラ株式会社入社 – 1995年京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社代表http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構非常勤研究員http://www.ipa.go.

    安全なPHPアプリケーションの作り方2014
    manaten
    manaten 2014/10/12
  • 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...
    manaten
    manaten 2014/10/12
  • Bullet PHP Micro-Framework — Bullet PHP Micro-Framework

    The functional PHP framework built for REST APIs and Applications What is Bullet? Bullet is a functional PHP micro-framework that helps you easily create REST APIs and web applications that automatically conform to the requirements of the HTTP specification. Bullet is resource and URI-oriented and comes pre-loaded with powerful HTTP features like content-negotiation and caching. Requirements PHP 5

    manaten
    manaten 2014/10/08
  • プログラミング始めるならRubyとPHPどっちを勉強すべき? : ライフハックちゃんねる弐式

    2014年10月08日 プログラミング始めるならRubyPHPどっちを勉強すべき? Tweet 36コメント |2014年10月08日 07:30|Web・テクノロジー|Editタグ :プログラミング入門 1 :名無しさん@おーぷん:2014/10/06(月)23:53:15 ID:JkDxgc9Ju 26歳のおばちゃんなんだけど、迷ってる。 当ブログサイトはアフィリエイト広告、バナー広告を利用しています。 2 :ぶたさんのゆうれい◆dSysy/OC5.fU:2014/10/06(月)23:56:41 ID:tNAGnBcLy 今何が出来るのかにもよる 3 :名無しさん@おーぷん:2014/10/06(月)23:59:38 ID:JkDxgc9Ju >>2  htmlcssをここ一週間ほど勉強してた。なんとなく概要を把握したという感じ。 6 :Awn◆Awn/Awn/W615:2014

    プログラミング始めるならRubyとPHPどっちを勉強すべき? : ライフハックちゃんねる弐式
    manaten
    manaten 2014/10/08
    独学で勉強したPHPエンジニアはチーム開発の視点からしたら一番ご遠慮願いたい人材だと思うんだよな・・・
  • Composer でパッケージの削除は composer remove が良いと思ったらそうでも無かった - Qiita

    Composer で複数のパッケージをインストールしていて、開発を進めるうちにそれらの一部が不要になること、あると思います。そんなとき、どうやって不要になったパッケージを削除しているでしょうか? 幾つか方法はあると思うので、それらの動作を確認してみます。 まず、実験のために composer.json を a b c d の 4 つのディレクトリに作成します。それぞれ下記の内容です。

    Composer でパッケージの削除は composer remove が良いと思ったらそうでも無かった - Qiita
  • phpspec

    { "require-dev": { "phpspec/phpspec": "^6.2" }, "config": { "bin-dir": "bin" }, "autoload": {"psr-0": {"": "src"}} } Follow the instructions on this page to install composer: https://getcomposer.org/download/. Install phpspec with composer:

    manaten
    manaten 2014/09/05
  • PHP、かつてWebで人気だった言語が下火になりつつある | readwrite.jp

    今月頭頃にPHPの勉強を始めた時、編集者や知り合いと目標を目指して燃えていた。 しかしながら技術に詳しい人からの反応は常に「アレのどこがいいの?」というものばかりだった。 PHP、かつてパーソナルホームページの略であるとされ、その名前から元々シンプルかつカスタマイズが容易なWebサイトを作るために生まれてきたこの言語では、Webページにインタラクティブな要素を盛り込むことができる。 サイト上でPHPを用いることで、ページを静的なものから、投稿するとすぐにそれが反映されるBlogの様に動的なものにすることが出来る。 私がPHPに興味を持った最初の理由はこれだ。Blog構築で人気のプラットフォームであるWordPressは、Blogの見た目や機能をカスタマイズするためのテーマエンジンにPHPを用いているため、もしPHPを使えるのであれば、Blogのかなり細かいところまでいじることが出来る。 P

    PHP、かつてWebで人気だった言語が下火になりつつある | readwrite.jp
    manaten
    manaten 2014/08/23
  • 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の日記
    manaten
    manaten 2014/08/12
    PHPはそういう言語だとわかっているので驚かないけど、だからこそ業務では使いたくない・・・
  • array_mergeと「+」による配列の加算の違い【PHP】 - Programming Magic

    PHPでは2つの配列を合わせるのに、「+」演算子で行う方法とarray_merge関数で行う方法がある。 2つの方法は全く同じ動作をするわけではなく、いくつかの違いがある。 例えば、以下のような2つの配列があるとする。 $array[0] = array( 1 => '伊藤博文' 2 => '黒田清隆' 3 => '山縣有朋' '?' => '小渕恵三(1)' ) $array[1] = array( '?' => '小渕恵三(2)', 85 => '森喜朗', 87 => '小泉純一郎', 90 => '安倍晋三', ) このデータを+演算子で加算をすると以下のような結果が得られる。 print_r($array[0] + $array[1]); Array ( [1] => 伊藤博文 [2] => 黒田清隆 [3] => 山縣有朋 [?] => 小渕恵三(1) [85] => 森喜朗

    manaten
    manaten 2014/08/04
  • Configure Xdebug | PhpStorm

    Configure XdebugDownload XdebugDownload the Xdebug extension compatible with your PHP version and install it as described in the Xdebug installation guide. If you are using a preconfigured AMP (Apache, MySQL, PHP) package, the Xdebug extension may be already installed. Refer to the instructions specific for your package. Integrate Xdebug with the PHP interpreterOpen the active php.ini file in the

    Configure Xdebug | PhpStorm
    manaten
    manaten 2014/07/23
  • PHPにおけるオブジェクトインジェクション脆弱性について — A Day in Serenity (Reloaded) — PHP, CodeIgniter, FuelPHP, Linux or something

    SQLインジェクションはかなり有名になりましたが、オブジェクトインジェクションはまだあまり聞かないので、まとめておきます。 Dependency Injection(DI)とは関係ありません。 オブジェクトインジェクション脆弱性とは? SQLインジェクションが外部からSQL文を注入する攻撃であるのと同じように、オブジェクトインジェクションとは外部からオブジェクトを注入する攻撃です。 外部からオブジェクトを注入できれば、そのオブジェクトの機能によりさまざまな攻撃ができる可能性があります。最悪の場合、任意のコードを実行できる脆弱性になります。 PHPの場合、この攻撃が可能なのは、unserialize()関数を悪用できる場合です。 攻撃の方法 unserialize()関数に外部から任意のデータを渡すコードがあった場合、攻撃者は自由にシリアライズされたデータを送信することで、生成されるオブジェ

    manaten
    manaten 2014/07/22