タグ

PHPに関するprimarytextのブックマーク (167)

  • PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記

    PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プログラミング上のテクニックとして、辞書データを連想配列としてプログラム中に記述し、これを必要に応じて使うというものがあります。たとえば次のコード例を見てみましょう。このような連想配列を持っておけば、プログラム中で国名コードをを扱う際に実在するかをチェックしたり、国名の日語表記に変換したりといった処理ができるわけです。 <?php $country_name = [ 'jp' => '日', 'us' => 'アメリカ合衆国', 'ru' => 'ロシア連邦'

    PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記
  • PHPの最新状況:PHP 8.0リリース日決定(第12回) - KUSANAGI Tech Column

    PHPの新バージョン8.0の開発が進行中です。このバージョンのリリース予定日は2020年11月26日で、2020年6月25日に初めてのアルファ版がリリースされました。PHP 8.0では、新たに属性(attribute)という代表的な機能が採用されました。これは、クラス、変数、関数などに構造化された属性を付与する機能で、コード品質保証やコンパイラの判断を容易にするために使用されます。また、PHP 8.0の具体的な使用方法や属性の取得方法も紹介しています。 この新機能は、言語としての基的な機能が実装された状態で、今後のフレームワークとの連携が期待されています。 2020年も半分が過ぎ、COVID-19流行の渦中においても次期メジャーバージョンの8.0のリリースに向けた開発は引き続き順調に進んでいます。PHP 8.0のリリースを管理するリリースマネージャは、開発者の投票によりSara Gole

    PHPの最新状況:PHP 8.0リリース日決定(第12回) - KUSANAGI Tech Column
  • PHPプログラミングも快適に! VS Codeの二大拡張機能

    PHPプログラミングも快適に! VS Codeの二大拡張機能:Visual Studio Code+PHPの可能性を探る(1/3 ページ) VS CodeとPHPでWebアプリ開発はどこまで簡単になるのかを探る新連載。今回はVS Codeを利用したPHPによるアプリ開発に必須の拡張機能を2つ紹介する。 連載「Visual Studio Code+PHPの可能性を探る」 連載では、Visual Studio Code(以下、VS Code)を使ってPHPプログラミングする際の基事項を紹介していく。ただし、PHPの構文や文法については取り上げない予定だ。これらについては、@IT内の連載「Web業界で働くためのPHP入門」やPHP公式サイトの「PHP マニュアル」などを参考にしてほしい。また、VS CodeのGUI構成や、基的な使い方については「Visual Studio Codeの使い方

    PHPプログラミングも快適に! VS Codeの二大拡張機能
  • PHPで関数のエイリアス(別名)を作成する2つの方法 | PisukeCode - Web開発まとめ

    来のPHP自体には関数の別名(エイリアス)を作る機能はありません。 つまり同じ処理を異なる関数名から呼び出すのは不可能ということ しかし新バージョンの追加機能や標準関数を使えばそれらしいものを作ることは可能です。 そこでここではPHPで関数エイリアスを作る方法をまとめてみました。 関数エイリアスを作る方法まとめ その方法とは次の2つ call_user_func_array関数を使う use演算子を使う(PHP5.6以上) もしPHP5.6以上を使っているならuse演算子を使うのが一番簡単です。 そしてここでエイリアス化の例として使用するのは次の関数

    PHPで関数のエイリアス(別名)を作成する2つの方法 | PisukeCode - Web開発まとめ
  • PHPのハマりポイントのリンク集 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    PHPのハマりポイントのリンク集 - Qiita
  • APIなどにfile_get_contents()を使うのはオススメしない理由と代替案

    file_get_contents() はファイルパスを指定してデータを取得するだけではなく URLを指定すればそのURLの情報を手軽にとれる関数ですが 対API等に使うと色々とハマるポイントが多いので、それを簡単に解説したものです。 ※このページ向け に書いていたものですが、コード量が多いので分割しました。 問題点 file_get_contents() は ヘッダ情報の保持ルールやタイムアウト処理に癖があるため 返却されるステータスコードや、タイムアウト時に再リクエストなどを行うような 対APIの処理では、それらを知らないと想定していない事態に陥る。 コード例と解説 以下の要件でfunctionを書くとします。 jsonが返ってくるAPIにアクセスして、jsonをarray化する。 タイムアウトは3秒とし、そうなった場合は空の配列が返ってくる。 ステータスコードが200以外で返ってきた

    APIなどにfile_get_contents()を使うのはオススメしない理由と代替案
  • PHP 5からPHP 7への移行で、Tumblrはレイテンシが半分、CPU負荷も半減。テストツールでPHP 7への移行に問題ないかをチェック

    PHP 5からPHP 7への移行で、Tumblrはレイテンシが半分、CPU負荷も半減。テストツールでPHP 7への移行に問題ないかをチェック PHPの10年ぶりのメジャーバージョンアップとして昨年12月に登場した「PHP 7」は、PHP 5と比べて2倍以上の実行速度を実現するとリリース前からPHPの生みの親であるRasmus Lerdorf氏自身が説明してきました。 PHP 5からPHP 7へと内部システムのアップデートを行ったTumblrはその成果をブログで発表し、たしかにPHP 7のへ移行したことで実行速度が2倍になったことを裏付けています。 静的解析と自動テストでPHP 7への移行に問題がないかを確認 Tumblrが公開したブログ「Tumblr Engineering — PHP 7 at Tumblr」によると、Tumblrがその内部で稼働しているシステムをPHP 5からPHP 7

    PHP 5からPHP 7への移行で、Tumblrはレイテンシが半分、CPU負荷も半減。テストツールでPHP 7への移行に問題ないかをチェック
  • round関数その6:啓蒙とお詫び - hnwの日記

    Referer一覧の存在に気づいたので、リンクして下さっている方々の文章を今更読んでいます。ただ、おそらく浮動小数点数の扱いが拙いのをround関数のせいにしているような文章を見つけました。もしそういう誤解があれば非常に残念だと思うと同時に、これだけ注目を集めたからには浮動小数点数一般の罠について簡単に紹介してみても良いかな、と思いつきました。浮動小数点数まわりでハマった人がここに検索でやってくることがあるかもしれません。 そんなわけで、今回のテーマは啓蒙です。浮動小数点数の不思議さについて簡単な紹介記事を書いてみました。また、第1回記事中の誤っている点について、1点訂正をします。今回はイメージ先行で書いてみましたが、伝えていないことはあっても嘘は書いていないつもりです。正確な内容が知りたくなった方はWikipediaの記事「浮動小数点数」を読むと良いでしょう。または、そこからリンクされて

    round関数その6:啓蒙とお詫び - hnwの日記
  • PHPのround関数とは一体なんだったのか - hnwの日記

    (7/3 14:05追記)Javaに関する記述について誤認があったので盛大に書き換えました。Java 6、Java 7、Java 8それぞれで実装が変わっていたようです。 (7/13 23:55追記)記事中ではroundを四捨五入と言い切ってしまっています。これは筆者がC99のroundを基準に考えているためですが、言語によっては偶数丸めになっているround関数も珍しくありません。ご注意ください。 PHPのround関数について、ネット上で次のような記述を見つけました。 PHP 四捨五入の計算を間違える唯一の言語として畏れられていましたが、そのバグは治っているかもしれません(治ってないかもしれません) 主要なプログラミング言語8種をぐったり解説 - 鍋あり谷あり 各言語を面白おかしく紹介する内容とはいえ、ずいぶん雑な理解だなーという印象です。ゆるふわな話だけでPHPがdisられ続けるの

    PHPのround関数とは一体なんだったのか - hnwの日記
  • PHP 5からPHP 7へ移行する際に気を付けるべきポイント

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

    PHP 5からPHP 7へ移行する際に気を付けるべきポイント
  • パフォーマンス1000%UP!PHPでMySQLのDB処理を行うと重いときに行うパフォーマンス施策~基礎編~

    ホーム / ご案内 / パフォーマンス1000%UP!PHPMySQLDB処理を行うと重いときに行うパフォーマンス施策~基礎編~ DBを使うとやたらと重くなって仕方がない。。。 個別案件でヘルプが必要な方は Linuxに関するアドバイスを行います!WEB・メール・DBDNSサーバーどんなことでも! そうお悩みのプログラム初心者の方も多いのではないでしょうか。 いろいろQ&A的なサイトを見ていても初心者の方の多い質問の一つが【重い】という内容です。 しかしながら、インデックスはかかっているのか?とか、メモリが足りないとか。。。確かに、そういった要件はあるかもしれませんが、もっともっと初歩的なところでつまづいていませんか? そういう初心者のためにこの記事を書き残しています。 おそらく、バージョンやDB自体が何であるとか、そういった問題の前に基礎的なところができていない方が多いかもしれない

    パフォーマンス1000%UP!PHPでMySQLのDB処理を行うと重いときに行うパフォーマンス施策~基礎編~
  • PHP バージョン毎の php.ini の差分を確認できるサービス phpini-diff - Thanks Driven Life

    軽く作りました。 http://phpini-diff.herokuapp.com/ 概要 RailsDiff みたいなやつです。 作成経緯 「PHP のバージョン上げる時に php.ini の違いも一応調べないと*1。でも PHP のソースコード落としてきて diff するのめんどいし。今なら GitHub にある PHP 体のリポジトリ でタグ差分で違いみれるけどいちいちバージョン探して指定してーってめんどくさいな」 みたいなことから 「Rails だと railsdiff があるよなー」 みたいな感じで php.ini 版があると多少便利になるかな、といった感じです。 ソースコード github.com 備忘録も兼ねて簡単に内容を PHP のバージョンは 4.0.0 以上 & (正式版 or RC 版) を対象 GitHub でタグ付けされてる分だけ 正式版以外だと alpha

    PHP バージョン毎の php.ini の差分を確認できるサービス phpini-diff - Thanks Driven Life
  • phpでvar_dumpした時の表示を整える3つの方法 - Qiita

    はじめに phpでvar_dumpで変数の値を確認するデバッグ手法があると思いますが、それをそのままhtml上で表示すると こんな感じになってしまいます。 このままでは中の構造が追いにくく分かりにくいので形を成形して表示する方法を3つ紹介します。 サンプルコード <?php $sample = array('first' => array('first_children1' => 'a', 'first_children2' => 'b', 'first_childeren3' => 'c'), 'second' => 'd', 'third' => array('third_children1' => 'e', 'third_children2' => array('grandchildren1' => 'f', 'grandchildren' => 'g'))); var_dump($

    phpでvar_dumpした時の表示を整える3つの方法 - Qiita
  • PHPマイクロフレームワーク「Slim」を使ってみた

    1度使うと2度とそれ無しの生活に戻れない、それがフレームワーク。 PHPで代表的なフレームワークと言えば、「Zend Framework」とか「Symfony」とか「CakePHP」とか「FuelPHP」とか。最近だと「Laravel」というフレームワークが人気のようです。 2014年 Webアプリケーションフレームワークトレンド(PHP / Java / Ruby / Python / Perl) – Qiita これらはサービスを提供するのに必要な機能がすべて揃っている、いわゆる「フルスタック」というやつで、それさえ入れればすべて解決する(自分で何かを開発する必要は無い)一方で、インストールするにはある程度の知識と権限が必要。また少しツールを作りたいとか、小さいサービスを作りたいだけとか言った場合には、使わない機能が多すぎて逆にコストが高くなってしまいます。 で、最近流行ってるのは機能

    PHPマイクロフレームワーク「Slim」を使ってみた
  • 「!== false」 V.S. 「false !==」 - Qiita

    導入 PHP Manual - array_search 配列から探したい値に対応するキーを取ってくる関数です。見つからなかった場合には FALSE が返されます。この記事の内容には直接関係ないですが、この関数にはいろいろ落とし穴があるので注意してください。 結果の比較には === !== を使わなければならない 第3引数 $strict は TRUE にすることが推奨される さて、これを例として問題を提起します。 /* 問題 */ echo "ランダムに選出したアルファベットはH~Nの中に含まれているか?\n"; echo "またそのアルファベットは(Hから数えて)何番目のアルファベットか?\n"; echo "\n"; /* 変数の準備 */ $range = range('H', 'N'); // 限定する範囲 $all = range('A', 'Z'); // 全範囲 $rand

    「!== false」 V.S. 「false !==」 - Qiita
  • ジーシステム株式会社 | 地元・地方の未来の創生から日本の未来を創造する

  • WordPress以外でも使える!スマホとタブレット・PCの振り分け方法まとめ

    通常サイトのスマホやタブレットの振り分け方法 まずはWordPress以外のWebサイト制作でも使える、スマホやタブレットの判別方法についてです。今年はWebサービスを作りたいとも思っているので、その時のスマホ振り分けにも使えそうです。 PHPの関数で振り分ける方法 Googleで検索すると、山のように見つかる、PHPによるスマホとPC・タブレットの判別方法です。もっともシンプルな書き方を紹介しますので、スマホやタブレットの機種などは好みで追加変更してください。 [php] function userAgent() { $ua = $_SERVER[‘HTTP_USER_AGENT’]; if(preg_match(‘#\b(iP(hone|od);|Android.*Mobile )|Windows.*Phone|blackberry.*|PSP|3DS|Vita#’,$ua)){ $u

    WordPress以外でも使える!スマホとタブレット・PCの振り分け方法まとめ
  • $_POST、$_GETのよくある間違い - ゆどうふの湯豆腐ろぐ

    先に言っておくと、ある程度PHPに慣れている方には読んでも価値のない内容であることをお断りしておく。 それと、mixiでも一度書いたネタなので、そちらで見た人にもあまり意味はない。が、少しだけ内容は増えている。 ※色々と指摘を受けたので、それを元に書き直し作業中。 名前は挙げませんが、指摘を下さった方の指導に感謝します。 まずは御託から $_POSTや$_GETでのチェック判定の勘違いを時々見かける。 値がきちんと入っている場合はそれほどでもない。 その値に対してチェックをかけるせいか、意識がきちんと行き届いており、ほとんどの場合間違ってはいない。 問題は、「値が入力されているか?」という存在チェックだ。 きちんとできていないと、思わぬ落とし穴になる部分にも関わらず、よく間違ったスクリプトがある。 無論、使われていても問題ないような、取るに足らないものも多い。 それらは、挙動を理解したうえ

    $_POST、$_GETのよくある間違い - ゆどうふの湯豆腐ろぐ
  • PHP with Visual Studio

    2. 目次 ・1. 自己紹介 ・2. Visual Studio の素晴らしさ ・3. PHP Tools for Visual Studio ・4. ローカル(?)環境の構築 ・5. リモートデバッグ環境の構築

    PHP with Visual Studio
  • PHPでPCとスマホを判別する方法【Mobile Detect】

    PHPでモバイルとデスクトップをユーザーエージェントで条件分けしたい時に便利なライブラリ、mobile detectを紹介。

    PHPでPCとスマホを判別する方法【Mobile Detect】