タグ

phpに関するfumikonyのブックマーク (226)

  • PHP5.6の新機能紹介 - Qiita

    Constant scalar expressions オブジェクト定数に表現が使えるようになりました。 <?php const A = 1; class HOGE{ const B = A + 100; // 101 const C = self::B + 10; // 111 const D = intval(1); // Parse error: syntax error } ただし変数/メソッド呼び出しはできない模様。 どうせならそこまで対応してほしかったところ。 Variadic functions via ... 関数の引数に可変長引数が使えるようになりました。 これまでも可変長引数はfunc_get_args()で使えましたが、こいつは引数に明記されないからわかりにくいし、IDEにも捉えてもらえませんでした。

    PHP5.6の新機能紹介 - Qiita
  • 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の日記
    fumikony
    fumikony 2014/08/10
    ヒャー
  • Nginxでupstream sent too big headerのエラー対処法

    upstream sent too big headerエラー Nginx + PHP-FPM構成で、クライアント環境(ブラウザ設定)によっては以下のようなエラーが発生してページが閲覧できない場合があります。 [error] 819#0: *38 upstream sent too big header while reading response header from upstream, client: ***.***.***.***, server: localhost, request: "POST ******** HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "********", referrer: "http://**********" エラー対処法 Nginxのcon

    Nginxでupstream sent too big headerのエラー対処法
  • Laravel - ウェブ職人のためのPHPフレームワーク

    ウェブ職人のためのPHPフレームワーク。 PHPに支障はありません。楽しくコーディングし、新しい息吹を楽しんでください。 RESTful ルーティング あなたの適用へのリクエストに応えるために簡単なクロージャーを使って下さい。 コマンド Your Data 素晴らしい Eloquent ORM と 素晴らしいマイグレーションシステムを完備しています。 美しいテンプレート 在来の PHP 、もしくは軽量の Blade テンプレート・エンジンを使用してください。Blade を好きになるでしょう。 明日の準備 Laravel は、いろいろな規模のプロジェクトに対応します。 実績のある土台 Laravel は Symfony コンポーネントの上に構築されます。 Composer で動く Composer はあなたの適用のサードパッケージを管理する、驚くべきツールです。 最高のコミュニティ Lara

  • PHPからChromeにログ出力「Chrome Logger」

    こんにちは、中川です。 PHPでの開発中のちょっとしたデバッグに、echo や var_dumpで画面に値を出力して確認することがありますよね。 このデバッグ方法は簡単でいいのですが、出力した配列の値などはパッと見で確認しやすいとは言えませんし、画面の表示内容が崩れたりします。 画面に出力しない方法としては、 error_log関数を使ってapacheログやファイルに出力する方法もありますが、 この場合は、サーバ側にログインしてtailなどでファイル内容を確認する必要がでてきます。 そんなちょっとした問題を解決してくれるツール 「Chrome Logger」をご紹介したいと思います。 Chrome Loggerを使えば、JavaScriptのconsole.logのように、 表示画面には影響を与えないでブラウザのデベロッパコンソールにPHPから値を出力できます。 ■Chrome Logge

    PHPからChromeにログ出力「Chrome Logger」
    fumikony
    fumikony 2013/04/25
    便利そう
  • すぐれた PHP ライブラリとリソース

    すぐれた PHP ライブラリとリソース Awesome PHP の記事をフォークして翻訳したものです (2013年4月25日)。おどろくほどすごい PHP ライブラリ、リソースやちょっとした情報のリストです。 【訳者コメント】 PHP 入門者のかたにはクィックリファレンスとして PHP: The Right Way 、セキュリティに関しては2011年3月に出版された 体系的に学ぶ 安全なWebアプリケーションの作り方 をおすすめします。 Composer Composer/Packagist - パッケージと依存マネージャー Composer Installers - マルチフレームワーク Composer ライブラリインストーラー。 Composer 関連 Satis - スタティック Composer リポジトリジェネレーター。 Composition - 実行時における Compos

    すぐれた PHP ライブラリとリソース
  • PHP Refactoring Browser by QafooLabs

    A command line refactoring tool for PHP View the Project on GitHub QafooLabs/php-refactoring-browser Download PHAR View On GitHub Built by Qafoo Note: This software is under development and in alpha state. Refactorings do not contain all necessary pre-conditions and might mess up your code. Check the diffs carefully before applying the patches. PHP Refactoring Browser Note: This software is under

  • PHP: The Right Way

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

    fumikony
    fumikony 2013/01/18
  • PHPを愛する試み - maeharinの日記

    僕はRubyが好きだ。プライベートではRubyばっかり使っている。でも、仕事ではPHPを使わなければならない。これまでPHPは書きにくいーと思い込んでいてあまり好きではなかったのだけど、仕事で使う以上PHPを好きになった方がきっと幸せになれる。何かを好きになるにはどうすればよいか。そう、相手のことを知る努力をすればいいんだ!ということで、PHPについて知る努力をしてみた。 PHP The Right Wayを読む http://ja.phptherightway.com/ ☆PHPへの愛が100上がった☆ これは... PHP好きになれるかも! 普段Rubyで書いてるコードをPHPで書いてみる 折角なので自分が普段Rubyを使っていて便利だなーと感じていることをPHPではどう書くのか(厳密では無いにしても大体同じ内容はどう書くか)試してみた。Rubyは1.9.2、PHPは5.3.10。 多

    PHPを愛する試み - maeharinの日記
  • サーバ上で動いてるどのphpが重いか?を調べられる「phptop」:phpspot開発日誌

    サーバ上で動いてるどのphpが重いか?を調べられる「PhpTop」。 「サーバ監視に超使える〜topコマンドのまとめ」というエントリで様々なtopコマンドを紹介したのですが、phptopなるものを新たに発見したのでご紹介。 具体的に出来ることは、今サーバで動いているものを指定した期間で、もっともアクセスが多いphpCPUを多く消費しているphp、メモリを多く使っているphpといったものを降順にソートできるというものです。 サーバ上で多くのphpが動いており、どうも負荷が高いけどどれが重いのかよくわからないという場合に使えます。 top コマンドでは httpd が動いてるぐらいしか分からないので phper な方で負荷にお悩みの方は使ってみるのもよいかも。 たとえば、 $ phptop -t 15 -s mem のように実行すると、15分以内で、メモリを多く使っている順にソートが可能。

    fumikony
    fumikony 2012/12/18
  • ini_set

    説明string ini_set ( string varname, string newvalue) 指定した設定オプションの値を設定します。成功時に元の値を、失敗し た際にFALSEを返します。設定オプションは、スクリプトの実行中、新し い値を保持し、スクリプト終了時に元の値へ戻されます。 全てのオプションが ini_set() を使用して変更す ることが可能なわけではありません。以下にユーザのレベル毎に変更/設 定可能な(PHP 4.2.0における)全てのオプションのリストを示します。

  • CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例

    補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブはてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2011年1月27日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 橋口誠さんから今話題の書籍パーフェクトPHP (PERFECT SERIES 3)を献いただきました。ありがとうございます。このエントリでは同書のCSRF対策の問題点について報告したいと思います*1。 書では、CSRFの対策について以下のように説明されています(同書P338)。 CSRFへの対応方法は、「ワンタイムトークンによるチェックを用いる」「投稿・編集・削除などの操作の際にはパスワード認証をさせる」などがあります。一番確実な方法は両者を併用することですが、ユーザ利便性などの理由から簡略化する場合で

  • phpunit + selenium rcで自動テストMac編 - komagataのブログ

    Selenium RCをインストール。 PHPUnitをインストール。 PHPUnit_Seleniumをインストール。 % pear install phpunit/PHPUnit_Selenium testを書く(ファイル名はクラスと同じCamelCase) test/integrations/LoginTest.php <?php require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; class LoginTest extends PHPUnit_Extensions_SeleniumTestCase { protected function setUp() { $this->setBrowser('*firefox'); $this->setBrowserUrl('http://foo/'); } public functi

  • Lithium: The Framework for People Who Hate Frameworks

    This is the presentation was given at ConFoo on March 11th by Nate Abele and Joël Perras, and is an introduction to the architectural problems with other frameworks that Lithium was designed to address, and how it addresses them. It also introduces programming paradigms like functional and aspect-oriented programming which address issues that OOP doesn't account for. Finally, the talk provides a q

    Lithium: The Framework for People Who Hate Frameworks
  • CakePHPでユニットテストする際に気をつけること

    今やっている案件ではCakePHPを使ったアジャイル開発で、当然テストも自動化している。 テストの自動化を徹底的にやったので楽なんだけど、次回の案件のためにどういう観点でテストを組んでおくと良いか、またどこに嵌りがあるかメモとして残しておく。 CakePHPに限らない話 テストしやすい実装にする。例えばメソッドに複数の異なる役割を持たせない。引数と戻り値が明確。適切な行数など MVCの複数レイヤーにまたがる処理を書かない。例えばコントローラの中でSQLじゃぶじゃぶ投げたり、バリデーションチェックをぐちゃぐちゃやったりしない 自動でテスト実行できる仕掛け作り。例えばPHPならphpUnderControl。JAVAならCruiseControlとかHudson。 基に返って、テストを先に書くという意識付け テストがいっぱいありすぎたら今度はテストのリファクタリング。似たようなテストがコピペ

    CakePHPでユニットテストする際に気をつけること
    fumikony
    fumikony 2012/06/20
    参考になる
  • PHP: strpos - Manual

    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

    fumikony
    fumikony 2012/06/11
    この関数の返り値を調べるには ===演算子 を 使用してください。
  • CakePHP - Build fast, grow solid | PHPフレームワーク

  • CakePHP Formヘルパーを利用して複数レコードの一括編集と保存 – MT Systems

    データの編集で、同じモデルの複数レコードを一括で編集表示し保存する、ような処理を行ないたいことがよくある。レコード1件1件をその都度編集、保存する手間を省きたい訳だ。 CakePHPのFormヘルパーは、inputエレメントをlabelエレメントやdivエレメントを付けて出力してくれるので、 fieldsetエレメントやlegendエレメントを利用して編集ブロックとしてまとめるなど、CSSを利用して統一したデザインにすることができる。 デザインについては、sdozonoさんの以下の記事が大変参考になった。 FormHelperとCSS Formヘルパーでは、createメソッドにモデル名を設定すれば、後はinputメソッドにテーブルのカラム名を指定し、最後にendメソッド を置いて<form>ブロックの出来上がりである。サーバーにデータがsubmitされた際のactionで は、$this

  • Choose Opera - Spreading Opera goodness - Posts tagged by "Opera Tips".

    Gaming, Opera GX Pimp your smartphone with GX Mods, now available in Opera GX on Android and iOS February 8th, 2024 Transform the look and feel of your smartphone and tablet and browse like a badass by installing dozens of Mods... New green energy-powered AI data cluster with NVIDIA DGX supercomputing coming to Iceland February 7th, 2024 We’re excited to announce plans to deploy a new AI cluster i

  • 2.0 Migration Guide - 2.x

    2.0 Migration Guide¶ This page summarizes the changes from CakePHP 1.3 that will assist in a project migration to 2.0, as well as for a developer reference to get up to date with the changes made to the core since the CakePHP 1.3 branch. Be sure to read the other pages in this guide for all the new features and API changes. PHP Version Support¶ CakePHP 2.x supports PHP Version 5.2.8 and above. PHP

    fumikony
    fumikony 2012/05/16
    e()やらa()やらが無くなっている