タグ

phpに関するhondallicaのブックマーク (23)

  • PHP7から文字列の無駄なコピーが減った話 - hnwの日記

    このエントリは闇PHP Advent Calendar 2015の14日目です。 稿では、PHP7のzend_string構造体導入によるメリットの話をします。 PHP5とPHP7の文字列型の扱い PHP5では、文字列型の変数は次のようにメモリに割り当てられます(横幅いっぱいが8バイト)。 文字列の体以外はzval構造体で管理し、文字列の体は別途メモリ確保するという形になっています。一方、PHP7では次のようになります。 1つの文字列変数が、zval構造体とzend_string構造体の組み合わせで実現されています。 これだけ見ると、PHP7では文字列長と参照カウンタrefconuntがzvalから追い出されてzend_stringに移動したくらいで、PHP5とPHP7のメモリ消費量に大きな違いは無いように思えるかもしれません(あるいはPHP7の方が不利に見えるかもしれません)。しか

    PHP7から文字列の無駄なコピーが減った話 - hnwの日記
  • 今までの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のやり方を全て打ち捨てよう - 絵描いたりコード書いたりする奴の独白
  • 第2回 PHPの基礎を見直す | gihyo.jp

    PHPについて見なおそう みなさんこんにちは、WebアプリケーションではPHPを使ったものが世の中にあふれています。 TOIBE発表ではシェアがここ五年で10.3%から3.9%と激減していますが、まだまだ日のwebアプリケーション開発では多く用いられています。 第1回では、フロントエンドで利用されているJavaScriptの基礎を振り返りましたが、今回は同じWebアプリケーション開発のバックエンドでよく利用されているPHPの基礎の部分を振り返りたいと思います。 PHP Webアプリケーションを作成するのに特化したサーバサイド側のプログラム言語のひとつです。 PHPの特徴としては下記のことがあります。 初心者でも理解しやすい。 ほとんどのウェブサーバと有名OSでモジュールでもCGIでも動作します。 プログラムの記述方法も手続き型、オブジェクト指向、両方の混在で記述できます。 このように導入

    第2回 PHPの基礎を見直す | gihyo.jp
  • PHP開発には単なるエディタだけでなく、もっと良い環境を - Webアプリエンジニア養成読本 AdventCalendar2014 22日目 - uzullaがブログ

    いきなり宣伝ですが、エンジニアのお祭りYAPC::Asia Tokyo 2015の情報をもれなくチェックするためのメール通知サービスが開始されました! YAPC::Asia Tokyo 2015 毎年「チケット販売いつのまにおわったの…」等といった悲しい声をいただきます。わすれないように是非上記リンクより、メールアドレスを登録しましょう! さておき、エントリはWebアプリエンジニア養成読アドベントカレンダーです。 Webアプリエンジニア養成読 Advent Calendar 2014 - Qiita Webアプリエンジニア養成読[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者:和田 裕介,石田 絢一 (uzulla),すがわら まさのり,斎藤 祐一郎技術評論社Amazon私の担当分においては、こちらの書籍でお話でき

    PHP開発には単なるエディタだけでなく、もっと良い環境を - Webアプリエンジニア養成読本 AdventCalendar2014 22日目 - uzullaがブログ
  • 超初心者プログラミング入門は「何」をやるべきか、主にPHPの場合。 - Webアプリエンジニア養成読本 AdventCalendar2014 五日目 - uzullaがブログ

    Webアプリエンジニア養成読アドベントカレンダーです。 Webアプリエンジニア養成読 Advent Calendar 2014 - Qiita 前置き 稿はあくまで、何のプログラミング言語もわからない人に向けた文章です。 オチですが 特に最初はプログラミングが詳しい人に教わりつづけるのが一番速いです。 千のブクマ、100のウェブサイト、10冊のよりも、詳しい人は答えをくれる。 なぜなら、はあなたの状況を勘案してくれず、人はあなたの意図を想像してくれるからです。 しかしまあ、運良くそういった教えてくれる人が身の回りに居ないことがあります。というか、居れば悩む事はないでしょう。 そうなるとコミュニティに参加して質問するか、あるいはコミュニケーションハードルが高いなら、やはり独習する事になるんですが、まあ、割と大変だ。さっさと覚えたいなら、さっさと聞ける人を見つけましょう。 しかし、思

    超初心者プログラミング入門は「何」をやるべきか、主にPHPの場合。 - Webアプリエンジニア養成読本 AdventCalendar2014 五日目 - uzullaがブログ
  • 保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog

    プログラミング言語には様々なものがありますが、その中でも比較的人気なのがPHPです。PHPHTMLファイルに直接記述できるスクリプト言語であり、その手軽さや言語自体のわかりやすさなどから、主にWebサービスの制作でその人気を獲得しています。 PHPは他の言語に比べてとても簡単な仕様となっており、初心者でもすぐにマスターすることができるものです。そして、同じプログラムを書く際でも複数の書き方が可能になっており、使用者に合わせた柔軟性も兼ね備えています。 そのような様々な書き方があるならば、なるべく手短でスマートなコードの書き方をマスターしたいものです。コードをスマートに記述することは以下のメリットがあります。 見やすくなることで保守・管理性の向上 コード量の短縮 記述時間(制作時間)の短縮 組織でのプログラミングルールの簡潔化が可能 このようにメリットが様々あるので、同じプログラムであれば

    保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog
  • <?phpタグが無くなる日 〜PHPの開発プロセス〜

    PHPスクリプトを記述する際に使われる<?phpタグの利用をオプションで有効無効を切り替えるようにするという仕様がPHPの開発コミュニティでの議論に挙がっています。 この仕様変更が実装された場合、PHPスクリプトには必ず<?phpのタグがあるという前提条件が変わる事になります。 まずこの議論がどのような形で行われているのでしょうか?ご存知でない方もいるかと思いますが、PHPの文法や機能へどのような変更を加えたいか、という議論はRFC (Request For Comment)という形でパブリックに行われています。Wikiページに仕様や背景、実際のパッチなどを添付し、開発者やユーザーからの投票を行った結果を元に実際にPHP体への変更を行うかどうかが決定されています。 過去に実装された機能の際の例などと一緒に見てみましょう。 Array Short Syntax # 従来の記述の場合 $a

    <?phpタグが無くなる日 〜PHPの開発プロセス〜
  • PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    ことの始まり PHP の srand 関数について調べていて、ひょんな拍子にsrandのseedに文字列(numericである必要はあるけど)を渡せることを知った。 では、ここに long を超えるものを放り込むとどうなるのか。 では結果をごらんください。 「!?!?」 なぜこうなるのか 秘密は PHP 処理系の zend_parse_arg_impl 関数にあります。 zend_parse_arg_impl はphpの関数に渡された引数をパースする部分で、longを要求する関数にstringな値が渡された時の処理はこの部分ですね。 https://github.com/php/php-src/blob/master/Zend/zend_API.c#L335 さて、読み進めていくと「ん!?!?」ってなる行があるはずです。 この行ですね https://github.com/php/php-

    PHP はいつもわたしに新鮮な驚きを与えてくれる - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • PHP最速フレームワークPhalconのインストール

    Framework / Memory Usage (mean, megabytes per request) [lessis better]Memory Usage(MB)ZendSymfonyYiiLaravelKohanaCodeIgniterFuelPhalcon0.40.81.21.62.0 参考 Phalcon PHPとSails Node.jsのベンチマーク Phalcon 1.3 と 2.0のベンチマーク Phalconモジュールのインストール ここではCentOS/Scientific Linuxでのインストール例を紹介しますが、マニュアルにはWindows/OSXなどのインストール手順も記載されています。PhalconはC言語で記載されているのでPHPがビルドできる環境でなければなりません。つまり、CentOSなどであればgccなどのビルドツール、php-develなどの

    PHP最速フレームワークPhalconのインストール
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
  • はじめてのフレームワークとしてのFuelPHP

    内容紹介こんなフレームワークが欲しかった!FuelPHP は、2011 年7 月に最初のバージョン1.0 がリリースされた最新のフレームワークです。先行する多くのフレームワークを参考に、PHP 5.3 の機能をフルに活用しゼロから開発されました。最初からMongoDB やRedis をサポートし、RESTful なコントローラをすぐに作成できる最先端のフルスタックなフレームワークです。しかも、シンプルで覚えやすく、かつ、軽量高速です。 新しいフレームワークですが、すでにGitHub では100 人以上の開発者がFuelPHP の開発に参加しており、ユーザも徐々に増え、品質や安定度も急激によくなってきています。書は、そのFuelPHP の2012 年6 月にリリースされた最新のバージョン1.2 に関する日初の入門書です。 書のテーマは、フレームワークを使ったことのないPHP ユーザの方

    はじめてのフレームワークとしてのFuelPHP
  • Usage Statistics and Market Share of PHP for Websites, June 2024

    Percentages of websites using various versions of PHP Historical trendThis diagram shows the historical trend in the percentage of websites using PHP. Our dedicated trend survey shows more server-side languages usage trends. You can find growth rates of PHP compared to all other server-side programming languages in our PHP market report. Market positionThis diagram shows the market position of PHP

    hondallica
    hondallica 2012/06/01
    4以下5%って書いてるけど体感的にはもっと多い気がする
  • http://silex-users-jp.phper.jp/

  • The end of Silex (Symfony Blog)

    Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps What about Silex in a Symfony 4 world? During the last few months, and as an exercise when working

    The end of Silex (Symfony Blog)
  • WordPressでWebサービスを作る方法(9:プラグイン)

    WordPress は、プラグインを入れるだけでさまざまな機能を追加することができます。 例えば、BuddyPress というプラグインを入れればSNSのようなWebサービスが作れますし、オークションプラグイン を入れればオークションサイトを構築したり、ECサイトプラグイン を入れれば WordPress を通販サイトにすることすらできます。 先日発売された WebDesigning 8月号 の WordPress特集 でこの連載を紹介して頂きました。 その際おすすめのプラグインをいくつか紹介させて頂いたのですが、記事ではプラグインの解説が1行ずつにまとめられていたので、ここで詳しく解説させて頂きたいと思います。 目次 PHPとは 開発環境の構築 MAMPやXAMPPのインストール WordPressとは WordPressの仕組み WordPressで作られたWebサイトやWebサービス

    WordPressでWebサービスを作る方法(9:プラグイン)
  • モダンなPHPの開発環境の構築方法 - 肉とビールとパンケーキ by @sotarok

    via. はてなブログ 誰か書くんじゃないかと思いつつ、まあ、お決まりのパターンとしてPHP版も書いてみよう。 PHPのこと見てると、書き方とか取り巻く環境ってあんま変わってないなーとか思いつつ、そして何がモダンなんだっけ?新しければいいのか?って話だけど。 一般的な OSX 環境および Linux 環境における、モダンな PHP 開発環境の構築方法についてまとめてみた。最新のPHPとxdebugがあれば十分。 PHP 5.3.2 のインストール ソースから入れてた時期もあるけどやっぱパッケージが楽だな。。オフィシャルじゃないリポジトリを使えばパッケージで入れられる。 pearとpeclは、パッケージ入れるときに一緒に入れちゃう。 pear や pecl そのものは、PHPよりも頻繁にバージョンアップされるし、パッケージになってたりなってなかったりの管理が面倒だから基的にpear/pec

    モダンなPHPの開発環境の構築方法 - 肉とビールとパンケーキ by @sotarok
  • Sign in to your Microsoft account

    Microsoft account requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked. To find out whether your browser supports JavaScript, or to allow scripts, see the browser's online help.

  • 『Windows版PHP5.3.xの選び方』

    Winsows用のPHPは バージョン5.3 からVC9(Visual Studio C++ 2008)のスレッドセーフ版、ノンスレッドセーフ版、それからVC6(Visual Studio C++ 2003)のスレッドセーフ版、ノンスレッドセーフ版の全部で4つのバイナリがあります。 どのような環境でどのバイナリを選べばいいのかちょっと分かりづらかったので調べてみました。 ■ Apche 1.x 、 Apache 2.x を使うならVC6版を選択 ■ IISを使うならVC9版を選択 さらに、VC9版を利用する場合、ランタイムが必要な場合があるようです。ランタイムはこちらからダウンロードしてください。→Microsoft 2008 C++ Runtime (x86)またはMicrosoft 2008 C++ Runtime (x64) ★ モジュールで実行するならスレッドセーフ(Thread

  • PHP6移行で増える脆弱なWebアプリ

    (Last Updated On: 2009年9月19日)PHP6のリリースはまだまだ先の話なのですが、PHP6への移行で脆弱なWebアプリが大量に発生する可能性があります。 理由は2つ – mb_check_encodingで全ての入力文字エンコーディングが正しいかチェックしていない – PHP6のhtmlentities/htmlspecialcharにはマルチバイト文字チェックコードが削除される PHPのコードを書いている人も自覚していないと思いますが、この影響はかなりあると考えられます。 近日中にgihyo.jpのセキュリティブログに詳しい情報を記述します。 追記:PHP5.3のコードを見てみたら、バックポートすべきではないのにバックポートされてました。つまり、PHP6がリリースされたらと言う問題ではなく、今ある問題になっています。一応、改修を提案するつもりですがどうなるか判りませ

    PHP6移行で増える脆弱なWebアプリ
  • PHPの比較の素晴らしさ加減は正常

    if ("0x0A" == "10") { print '(´ε` )チュッ'; } チュッ。されちゃいます。 文字列であっても整数と解釈できる文字列の場合は勝手に型変換しやがる今世紀最大の愚行を犯してしまうってのは有名な話だよね。 文字列であっても整数と解釈できる文字列の場合は自動的に整数に型変換してくれる超便利機能があるってのは有名な話だよね。 だけどなんでコレが一致するかわけがわからんかった。 0x0Aは10進数で10になるので一致する。と、言いたいところなんですがそう単純な話じゃないんだ。 以下の例を目ん玉見開いて見て欲しい。 var_dump(0x0A); var_dump("0x0A"); var_dump((int)"0x0A"); var_dump((float)"0x0A"); var_dump(intval("0x0A")); 実行結果 int(10) string(4

    PHPの比較の素晴らしさ加減は正常
    hondallica
    hondallica 2009/06/19
    なにそれこわい