タグ

php7に関するk-holyのブックマーク (19)

  • Electronic Service Initiative, Ltd. | 「PHP5.6からPHP7.0への移行 アップグレードのポイント」を公開

    k-holy
    k-holy 2017/09/07
  • GitHub - Alexia/php7mar: PHP 7 Migration Assistant Report (MAR)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - Alexia/php7mar: PHP 7 Migration Assistant Report (MAR)
    k-holy
    k-holy 2017/08/30
  • PHPの連想配列は常にin_arrayより速いのか - hnwの日記

    プログラムを書いていると、入力値が辞書に含まれているかを調べたいようなことがあります。たとえば、ユーザーに都道府県名を入力させて、それが正しい都道府県名であるかどうかを調べたい、というようなことがあるかもしれません。 このような内容をPHPで書く際、キーに都道府県名を持つような連想配列を作る習慣がある人は多いはずです。これは典型的な連想配列の使い方といえるでしょう。 <?php $prefs = array( "北海道" => true, "青森" => true, // ... "沖縄" => true, ); if (isset($prefs[$input])) { // 都道府県名が正しい時の処理 } 一方で、in_array関数を使うやり方も考えられます。 <?php $prefs = array( "北海道", "青森", // ... "沖縄", ); if (in_array

    PHPの連想配列は常にin_arrayより速いのか - hnwの日記
    k-holy
    k-holy 2017/05/22
    計算量とin_array()の関数呼び出しコストの差で基本的には連想配列+isset()が有利だけども、PHP7では配列の構築コスト低下によって逆転する状況が無いわけではないと。
  • 自作OSSとPHP7対応

    「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito

    自作OSSとPHP7対応
    k-holy
    k-holy 2017/03/01
    会社にとっては都合いいと思うけど、自作ライブラリならともかく、自作アプリ持ってる人は職業プログラマでは少数派なのでは…。
  • お前は PHP 7 における Fatal Error / Catchable Fatal Error / Error / ErrorException / Exception の違いを言えるか? - Qiita

    お前は PHP 7 における Fatal Error / Catchable Fatal Error / Error / ErrorException / Exception の違いを言えるか?PHPポエム例外例外処理 導入 煽りタイトルすいません.PHP 7 のエラーや標準例外について,違いを整理し,使い分けを考察する記事です. 【引用】 PHP 7.0.0α2 の例外の例外の継承関係を可視化してみた by @ngyuki すべてを捕捉対象にする [Throwable] [Throwable] は, PHP 7 の throw 文でスロー可能なあらゆるオブジェクトが実装する基底インターフェイスです. [Error] および [Exception] はこれを実装しています.但し,PHPコードとして書かれるクラスが [Throwable] インターフェイスを直接実装することはできません. と

    お前は PHP 7 における Fatal Error / Catchable Fatal Error / Error / ErrorException / Exception の違いを言えるか? - Qiita
    k-holy
    k-holy 2016/08/09
    うぉぉ…ありがてぇありがてぇ
  • PHP: array_column - Manual

    array_column() は、 配列 array の中から column_key で指定した単一のカラムの値を返します。 オプションで index_key も指定できます。 これを指定すると、 入力配列内のカラム index_key の値をキーとし、 カラム column_key を値とした配列が返されます。 パラメータ array 値を取り出したい多次元配列 (あるいはオブジェクトの配列)。 オブジェクトの配列を指定した場合は、public プロパティはそのまま取得できます。 protected や private なプロパティを取得したい場合は、そのクラスがマジックメソッド __get() および __isset() を実装している必要があります。 column_key 値を返したいカラム。 取得したいカラムの番号を整数値で指定することもできるし、 連想配列のキーやプロパティの名前

    PHP: array_column - Manual
    k-holy
    k-holy 2016/05/26
    PHP7以降はマジックメソッド実装オブジェクトの配列に対応してるのか
  • PHP 7 の新機能の紹介 (社内勉強会の発表資料) - y_uti のブログ

    勤め先の社内勉強会で、PHP 7 で新たに導入された機能について紹介しました。発表資料を公開します。前半では PHP 7.0 で導入された機能について、後半では PHP 7.1 で導入されることになる機能について、それぞれ構文の拡張にあたる内容を中心にピックアップして紹介しました。 最近の PHP の話 from y-uti www.slideshare.net PHP の各バージョンで導入された新機能は、マニュアルの付録に記載されています。 PHP: 付録 - Manual 今後の PHP に導入されていく新機能は、PHP Wiki の RFC のページに記載されています。それぞれ PHP の internal メーリングリストで議論され、最終的には投票によって採否が決められます。メーリングリストは誰でも登録できます。また、アーカイブが公開されているので登録しなくても議論を追うことができ

    PHP 7 の新機能の紹介 (社内勉強会の発表資料) - y_uti のブログ
    k-holy
    k-holy 2016/05/19
    Throwableの導入によって"例外ハンドラの引数はExceptionとは限らない"
  • 【スライドにして106枚】PHP7.0 全46RFCの概要紹介|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

    【スライドにして106枚】PHP7.0 全46RFCの概要紹介 最近仕事のメモを取るのに、日付ベースでノートを保存出来る wri.pe というサービスを使い始めた YamaYuski です。 弊社はPHPに強い会社と自負していますが、これまで社内勉強会では PHP 7 について詳しく取り上げていませんでした。(もちろん社内プロジェクトで使えるかどうかのチェックなどはしています) これではいかんということで、社内でもPHP7の新機能や注意点をRFCベースで共有し、今後のアップデートに備えるべく、筆を取りました。 その結果、 重量級 な内容となってしまいましたよ。 スライドにして106枚。 (何故こんな枚数になった。) ということで、折角作ったのに社内にしか公開しないのはもったいない、ということで、ひとまとめにした内容を記事として書き起こしてみます。 ※今回はmarkdownを使って資料を書い

    【スライドにして106枚】PHP7.0 全46RFCの概要紹介|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
    k-holy
    k-holy 2016/04/18
  • PHP7がリリースされたいま、 改めてHackについて考える。

    上司から「なんでPHPなの?」と言われたら PHP弾劾を受けた時に切り返す、伝家の宝刀。いや、諸刃の剣 このセリフ良く言われるのではないでしょうか。 「え、なんで今JavaPHPにリプレイス?」「え、Goの方が早くない?」「最近はPythonでしょ」とか言われたら言い返してやりましょう。 「いや、PHPじゃないと駄目なんです!!」 と。 ぶっちゃけPHPでないと行けない理由なんてものはありません。でも、PHPerがPHPを選択するのには理由があるのです。 そんな、をみなさんにお渡しします(ネタ有り)

    PHP7がリリースされたいま、 改めてHackについて考える。
    k-holy
    k-holy 2016/02/04
  • PHP7で宇宙船演算子を使いこなすぞ - Qiita

    まずはPHP7リリースおめでとうございます!!! PHP 7.0.0 Released なんだか記念すべき日にAdvent Calendarを入れてしまって恐縮です。その割にすごい小ネタで書いてしまった…。 ここからPHP7では宇宙船演算子<=>が導入されます。だいたいこういう意味の演算子ですね。 // <=>と同じ意味の関数 function compare($a, $b) { if ($a < $b) { return -1; } elseif ($a > $b) { return 1; } else { return 0; } } compare(1, 2); // -1; 1 <=> 2; // -1; ユースケース的にはusort(), uasort(), uksort()との組み合わせで用いられるので、この機会にPHPにおける配列の並び替えについてまとめてみることにします

    PHP7で宇宙船演算子を使いこなすぞ - Qiita
    k-holy
    k-holy 2015/12/08
    ソートが相当シンプルに書けるようになる"宇宙船演算子"
  • PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog

    いよいよ、PHP の次期メジャーバージョンの PHP 7 がリリースされます。すでに、RC4 が登場しており、来月予定されているリリースが楽しみです。 PHP 7 には幾つかの新機能が盛り込まれているのですが、その中でも気になるのが、無名クラスです。 無名クラスとは 無名クラスは、クラスの定義をすることなく、オンザフライでオブジェクトを生成する機能です。匿名関数(ネイティブクロージャ)のクラス版だと思うとイメージしやすいです。 無名クラスは、new classで、生成します。下記が、そのサンプルです。ここでは、sayメソッドを持つ無名クラスを定義して、$objectに格納しています。$object の say メソッドを実行すると、'Hello'という文字列が出力されます。 <?php $object = new class { public function say() { echo

    PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog
    k-holy
    k-holy 2015/10/14
    こういう方向に進む方がインタフェースの命名に悩まずに済んで気が楽かも。クラスに全部○○Implとか付けるのもアレだけど
  • PHP: 下位互換性のない変更点 - Manual

    エラーや例外の取り扱いの変更 fatal error や recoverable fatal error の多くが、PHP 7 では例外に変換されるようになりました。 これらの例外は Error クラスを継承したもので、 このクラスは Throwable インターフェイスを実装しています。 この新しいインターフェイスを、すべての例外が実装しています。 エラーではなく例外がスローされるようになるということは、自作のエラーハンドラは呼び出されなくなるということです (Error 例外をキャッチしなかった場合は、fatal エラーが発生します)。 PHP 7 におけるエラーハンドリングの詳細な説明は PHP 7 のエラー を参照ください。 この移行ガイドでは、下位互換性のない変更点を列挙するだけにとどめます。 set_exception_handler() が常に Exception オブジェク

    PHP: 下位互換性のない変更点 - Manual
    k-holy
    k-holy 2015/10/13
    "変数やプロパティ、メソッドへの間接的なアクセスの扱いの変更" これちょっと怖いけど可変プロパティ名に波括弧付けていれば大丈夫かな
  • PHP5とPHP7の違い(extension編) - Qiita

    PHP5用のextensionは変更なしではPHP7上で動きません。#ifで分岐して両対応にするのも厳しい印象で、多くのextensionは別ブランチで開発しているようです(調べた範囲ではAPCu、msgpack、memcachedなどが別ブランチで開発しているようです)。 今回PHP7用の実験的なextension「php7_explorer」を書いてみました。書いてみてPHP5用のextensionとの違いを改めて実感したので、ざっくりの違いをまとめてみます。 「おまじない」を書かなくてよくなった PHP5までは、Zend APIのプロトタイプ宣言最後にTSRMLS_DCを、呼び出し時の引数リストの最後にTSRMLS_CCをつけるという「おまじない」が必要でした。これはZTS (Zend Thread Safety)サポートのため、必要なときだけ余計な引数を引き回すようなマクロ定義です

    PHP5とPHP7の違い(extension編) - Qiita
    k-holy
    k-holy 2015/09/18
  • PHP7の内部実装から学ぶ性能改善テクニック

    .NET Conf Tokyo 2019 にて登壇。 https://vsuc.connpass.com/event/146588/ C# 8.0 の新機能のうち、非同期ストリームと呼ばれるもの(await foreach, await と yield の混在)について説明します。 また、非同期ストリームの内部的な仕組みの説明と合わせて、ValueTask や IValueTaskSource など、Task がらみのパフォーマンス改善の歴史を振り返ります。

    PHP7の内部実装から学ぶ性能改善テクニック
    k-holy
    k-holy 2015/09/07
  • PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記

    仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュール名・ファイル名が変更になっていました。 LoadModule php5_module modules/libphp5.so ↓ LoadModule php7_module modules/libphp7.so memcache extensionがインストールできない PHPからMemcachedを使うためのExtensionには2つあります。 memcache memcached memca

    PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記
    k-holy
    k-holy 2015/07/17
    うちの利用環境的には問題なさそう
  • PHP7調査(11)??演算子の新設 - Qiita

    PHP7で2項演算子「??」が新設されます。左オペランドがnull以外の値であればその値を、そうでなければ右オペランドを返すようなものです。

    PHP7調査(11)??演算子の新設 - Qiita
    k-holy
    k-holy 2015/04/16
    欲しかったやつだ
  • PHP7のタイプヒントベストプラクティス

    (Last Updated On: 2018年9月26日)PHP 7から基的なデータ型(整数型、浮動小数点型、配列型)タイプヒントが追加されます。直感的に書くコードと正しいコードには乖離があります。PHP7でタイプヒントを使う場合のベストプラクティスを紹介します。 タイプヒントとタイプヒントの問題点については前回のブログを参照してください。 PHP7タイプヒントの注意点 PHPはWebシステムで利用され、データベースやJSONなどの外部データとのやり取りが必要になります。PHP7のタイプヒントはデータ型変換を伴うので 入力データの形式/表現範囲 PHPデータ型の表現範囲 タイプヒント/キャストの動作 に注意する必要があります 入力データの形式 データベースの場合、入力データは基的に”文字列”になります。データベースのデータ型をPHPなどの言語のデータ型と完全に一致するとは限りません。こ

    PHP7のタイプヒントベストプラクティス
    k-holy
    k-holy 2015/04/10
    今まで通り基本は文字列でバリデーションして適切にキャスト。タイプヒントはキャスト忘れ対策に使うイメージかな。巨大な数値を扱わないことを明示する意味でも使えそう。
  • PHP 7のパフォーマンスが高い理由

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

    PHP 7のパフォーマンスが高い理由
    k-holy
    k-holy 2015/03/23
  • PHP: rfc:anonymous_classes

    An anonymous class is a class without a (programmer declared) name. The functionality of the object is no different from that of an object of a named class. They use the existing class syntax, with the name missing: var_dump(new class($i) { public function __construct($i) { $this->i = $i; } }); new class (arguments) {definition} Note: in a previous version of this RFC, the arguments were after the

    k-holy
    k-holy 2015/03/16
    これは嬉しい。Interfaceとtraitのテストがやりやすくなりそう
  • 1