タグ

phpに関するtomoemonのブックマーク (28)

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

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

    【導入決定!】PHP7で実装されるスカラー型宣言とは? | 東北ギーク
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
  • 本当は怖いstrptimeと%Y%m%dの関係 | Nekoya press

    「%Y%m%d」をstrptimeで処理すると曖昧になることを今更ながらに知りました。 社内で「201312」を渡すとキモいという話が出て、 Pythonでdatetime.datetime.strptime('201312', '%Y%m%d')がエラーにならず1月2日として成立するの具合悪いと思うの — nekoya (@nekoya) June 7, 2013 ってPostしたら@hirataraさんが「2013129と2013130もキモいぞ」と教えてくれました。 普段は%Y-%-%dを使うんだけど、URLに日付を埋め込む場合はデリミタ無しの方が自然だなーと思ったらご覧の有様だよ。 Python2.7.1 >> datetime.strptime('201312', '%Y%m%d') datetime.datetime(2013, 1, 2, 0, 0) >> datetime.

    tomoemon
    tomoemon 2013/06/25
    %m とか %d は2桁固定だと思ってたのに…信じてたのに…
  • PHP 5.3 でネイティブ関数の引数型エラー時の返り値が変更になったけど大丈夫? - co3k.org

    PHP 5.5.0 リリースおめでとうございます。 タイミング的に PHP 5.5 の話だと読み間違えた方 (もしくは「こいつ間違って PHP 5.3 って書いてやがるプギャー」と思った方) におかれましては、このテキーラはサービスだから、まず飲んで落ち着いてほしい。 はい。ということで、驚くべきことに、いまから、真顔で、 PHP 5.3 の変更点の話をします。でも PHP 5.5 が出るにあたってコードを見直す方もいるでしょうし、なんというかついでに気に掛けていただければと。 何の話か PHP 5.3 の「下位互換性のない変更点」として、マニュアルに以下のように示されている件についての話です。 引数を解釈する内部API が、PHP 5.3.x に同梱されている全ての拡張機能に 適用されるようになりました。つまり、互換性のないパラメーターが渡された場合、 この引数を解釈するAPIは NUL

  • isset() 関数にご用心! ( #phpadvent2011 Day 17 ) - omoonのブログ

    PHP Advent Calendar 2011 の 17 日目です。昨日はhajikamiさんの「http://my-rest.icca.jp/blog/2011/12/769/」でした。 みなさんこんにちは。17 日目担当の omoon です。普段は大阪で WEB アプリケーションを作ったりしている会社におりまして、PHP は触り始めて 10 年ぐらいです。 当はもっと早く記事を上げる予定だったんですが、急遽下のような仕事が入りまして遅くなりました。ごめんなさい。 さて、みなさんは配列の要素の存在確認ってどうされてますか? 僕は、PHP を始めてからずっと無条件で isset() 関数 を使っていたのですが、ついこの間、えー、うそん!的なハマりを体験いたしましたので、もうご存知の方には面白くともなんともない話だとは思いつつ、恥を晒す覚悟でまとめてみたいと思います。 isset() 関

    isset() 関数にご用心! ( #phpadvent2011 Day 17 ) - omoonのブログ
    tomoemon
    tomoemon 2013/03/13
  • 配列とリファレンスの奇妙な動作【PHP】 - Programming Magic

    注意:ここで、$a と $b は完全に同じで、$a が $b を指しているわけではなく、その逆でもありません。$a と$b は同じ場所を指しているのです。 つまり、↓こういうことだ。 さらに、「PHP: リファレンスが行うことは何ですか? - Manual」にはもう一つ注意が書かれている。 注意: リファレンスを含む配列をコピーする際に、そのリファレンスが解消される ことはありません。配列を関数に値渡しする場合も同様です。 つまり、最初のコードの動作はバグではなく正しい動作をしていたということになる。 <?php $array[0] = 1; $array[1] = 2; $array[2] = 3; $ref = &$array[1]; //$array[1]と$refがリファレンスになる $copy = $array; //$array[1]のリファレンスがそのままコピーされる。 $c

    tomoemon
    tomoemon 2013/03/08
    わかりにくいけどわかりやすい
  • PHP配列のインデックス外アクセス - なんたらノート第三期ベータ

    構文チェックを厳しくしてると、 <?php $a=array(1,2,3); $t = $a[3]; ?> PHP Notice: Undefined offset: 3 という警告が出る。でも、 <?php $a=array(1,2,3); $t =& $a[3]; ?> --警告なし <?php $a=array(1,2,3); $t =& $a[3]; echo "a[3] is " . $t; ?> --警告なしでなぞの非表示値が表示されてる 配列アクセスと同時に実体コピーが起こるとだめっぽい。配列アクセスと実体コピーが別の文ならいいらしい。 謎の非表示値を調べてみると、 <?php $a=array(1,2,3); $t =& $a[3]; echo "a[3] is a " . ($t === FALSE ? 'FALSE' : ($t === NULL ? 'NULL' :

    PHP配列のインデックス外アクセス - なんたらノート第三期ベータ
    tomoemon
    tomoemon 2012/12/05
  • Grow - Agencia Marketing Digital

    Nuestra misión es HACERTE CRECER. Brindamos servicios especializados que aportan valor a las empresas líderes del mercado combinando estrategias de marketing y negocio con tecnología digital

  • PHP: The Right Way

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

  • PHPでprivateな変数を外部から参照するには - PSI Labs

    こんにちは、最近プライベートが充実してない tomita です。 さて、PHPにはオブジェクト指向が導入されています。さっそくこういうコードを実行してみます。 <?php class Tomita { public $public = '仕事仕事の毎日'; private $private = '充実してない'; protected $protected = '充実したい'; } $tomita = new Tomita; echo $tomita->public, PHP_EOL; echo $tomita->private, PHP_EOL; echo $tomita->protected, PHP_EOL; // 仕事仕事の毎日 // Fatal error: Cannot access private property Tomita::$private in /path/to/te

    tomoemon
    tomoemon 2012/07/06
  • PHP: Release Archives (museum)

    Index of / File Name  ↓ File Size  ↓ Date  ↓ patches/-2014-Nov-05 20:43 php-gtk/-2014-Nov-05 20:43 php1/-2014-Nov-05 20:43 php2/-2014-Nov-05 20:43 php3/-2014-Nov-05 20:43 php4/-2014-Nov-05 20:45 php5/-2020-Jul-07 10:32 php7/-2024-Jan-29 16:09 php8/-2021-Nov-25 13:27 win32/-2014-Nov-05 20:50

  • php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log

    前回、php のセッションID と エントロピーソース で書いたとおり、php5 では、セッションID の生成アルゴリズムを設定によってある程度カスタマイズできます。 session.entropy_file と、session.entropy_length については前回説明したとおり、セッションID を生成する上でのエントロピーソースを追加するものでした。 今回は残りの session.hash_function と session.hash_bits_per_character について。 session.hash_function は、収集したエントロピーのハッシュ値を求めるアルゴリズムを指定することができます。 0 の場合、md5 が。1 の場合、sha1 がそれぞれ利用されます。 さらに、php 5.3系からは、hash_algos() 関数で得られるアルゴリズム名を渡すことで

    php 5.2系のセッションID 生成に任意のハッシュアルゴリズムを利用する - do_aki's log
    tomoemon
    tomoemon 2012/03/18
  • (PHP)プログラマのためのVIM (9) - PHP向けカスタマイズ - おぎろぐはてブロ

    Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな カーソル位置・カーソル移動・マーク・挿入 削除・検索 置換・テキストオブジェクト コピー/削除/貼り付け、レジスタ undo ビジュアルモード、ウィンドウ、タブ 補完・マップ・オプション セッション、misc、ヘルプ そのまえに ここからは、Andreiの実際使っているvimの設定についての説明が含まれます。ファイルは元記事からダウンロードすることができます。 カスタマイズ vimをカスタマイズするには、~/.vimディレクトリにファイルを配置 filety

    (PHP)プログラマのためのVIM (9) - PHP向けカスタマイズ - おぎろぐはてブロ
  • PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ

    PHP5.4 alpha1がリリースされた。このリリースでは、PHPのオブジェクト指向言語の新たな機能としてtraitと呼ばれる機能が追加された。PHP5.4におけるtraitとは、型に影響を与えずにクラスに適用できるメソッドとプロパティの集合である。 早速PHP5.4 alpha1をインストールし、traitを使ってシングルトンパターンを実装した。このコードでは、クラスの継承関係に影響を与えずにシングルトンパターンをモジュール化している。 <?php trait Singleton { protected function __construct() { } static function getInstance() { static $obj = null; return $obj ?: $obj = new static; } function __clone() { throw n

    PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ
  • Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には

  • PHP: アーカイブ

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

  • IBM Developer

    IBM Developer
  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
  • CodeGen_MySQL_UDF

  • phpの変数展開まとめ - milieuの日記

    backtickさんのコードをみて初めて知ったけど、PHPの変数展開(ダブルクォテーション中の波括弧、文字列中の置換とかなんとか)は意外と複雑。 $hoge = 'fuga'; echo "$hoge" ; #fuga が出力される echo "${hoge}"; #fuga が出力される echo "${'hoge'}"; #fuga が出力される・・・ echo "${"hoge"}"; #fuga が出力される(parse errorじゃないのか!) ついでに関数も展開できるらしい $f = 'str_repeat'; echo "{$f('abc ',3)}"; #abc abc abc が出力される echo "{$f('abc ', 1 + strlen("aa"))}"; #abc abc abc が出力される どうやら関数の引数はワンライナー書き放題っぽい。しかし、単にダブ

    tomoemon
    tomoemon 2011/01/05
    "parse errorじゃないのか!"