これから PHP のプログラムを開始される方を対象とした PHP 入門です。 PHP での開発環境をローカル環境に構築する手順や、 PHP を使ったプログラミングの方法に関して実際にサンプルプログラムを作成しながら解説していきます。
Zend Frameworkを利用したWebアプリケーションの構築の前に、開発環境を整えます。今回はZend Frameworkのインストールではなく、Zend Frameworkをインストールするための環境を整えます。 Linux/Windows/Mac OS Xでほぼ同じ環境で動作する構成を紹介します。Linux版(CentOS 5)のVMWareイメージは筆者のサイトで公開しています。これと同じ、環境の構築手順を紹介します。 本連載では基本的にLinux(CentOS 5)での環境を前提にZend FrameworkによるWebアプリ開発を紹介しますが、ここで解説する環境をWindowsやMacに構築すれば同じように開発できます。 Zend Frameworkの利用に必要な環境 Zend FrameworkはPHP5用のフレームワークです。当然、PHP5が必要です。Zend_Cont
SQLインジェクション脆弱性を狙った大規模な攻撃が繰り返し行われ、数万から数十万ページが改竄される事件が何度も発生しています。SQLインジェクションは簡単に対策できる脆弱性ですが、未対策のアプリケーションが多く利用されています。外部からの脆弱性の検出も容易であるため、現在でもWebアプリケーション脆弱性の代表的存在です。 SQLインジェクション脆弱性が無くならない理由には以下のようなものが考えられます。 過去のコードやアプリケーションの再利用 基本的なセキュリティ知識不足 セキュアコーディングプラクティスの未実施 コード監査の不在 SQLインジェクション脆弱性の発見だけを目的にコード監査を行うことはあまりありませんが、SQLインジェクション脆弱性のコード監査は比較的簡単です。MySQLモジュールまたはPostgreSQLモジュールを利用している場合を例に紹介します。 本題に入る前にSQLイ
PHP Class ScriptsFind useful PHP components Recommend PHP ScriptsGet expert advice about the best PHP classes scripts PHP TutorialsTechnical articles about PHP and related matters Remote PHP Jobs August 2024 OpeningsFind or post PHP jobs from everywhere in the world PHP ShopBuy the original PHP elePHPant, Post Urgent PHP Jobs, Get Remote PHP Jobs PHP AwardsAward initiatives to distinguish PHP deve
PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。本稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい
ユニークなのは、すでに市販されている書籍を「主教材」とし、これに基づいて試験を行う点だ。副理事長に就任予定の吉政忠志氏は、「市販本でローコストオペレーションが可能になる」と話す。「ざっと見渡したとき、すでに書籍がたくさんある。独自の教材を作る作るコストがもったいない」(吉政氏)。主教材は市場で評価の高いオライリーのものとしているが、既存のeラーニングや書籍も申請手続きを経ることで副教材として「認定」のお墨付きが得られる。また、すでに全国に38校あると見られるPHPを教えるスクールについても、認定スクール、認定コース、認定インストラクターとして登録できる制度を整える。 受験料を抑えるビジネスモデルを採用したのは、個々のエンジニアが自主的に学習してスキルアップできる環境を日本でも整えたい、という思いがあるからだという。ベンダが主体となって運営する資格試験や、企業がエンジニアに取得を推奨したり、
プロジェクト名に愛が無い そしてリポジトリ名がncrm(多分New CRMの略)。だったら更に新しいの出たら何になるのか。nncrmか?nnncrm、n5crmとかschemeの仕様みたいになっていくのかと小一時間(略 テストが無い テストぉ?そんなお上品なもんなんざぁ、とんとお目にかかったことねーなぁ? バリデーションが無い バリデーション?そんなお上品なもんなんざぁ(略 サーバーがrootログインの許可+IP制限している セキュリティを高めたいのか低めたいのかどっちなのか。使い辛いわ。 バージョン管理システムがよくわかってない なぜトップにぶち撒けられてる?trunkはどこ?branchesとtagsはなぜ空? メソッドが大文字から始まる あんた絶対Windows畑から来たね?同じ調子でPHP書かれても困るんだヨォ。 全テーブルに共通のプレフィックスが付いている いや、データベース名が
5/3 17:45追記:t_komuraさんに指摘いただいた関数と、さらに僕が調べ直したものを含め、「ロケール設定に従う関数一覧」に25個ほど追加しました。かなり見落としがありましたね…。 PHPのロケール*1まわりについて調査したので、これをまとめてみます。 この記事は「ロケールの影響を受ける関数 - Sarabande.jp」を掘り下げたものです。masakielasticさん、ナイスな記事をありがとうございます。 PHPの文字列型と文字エンコーディング 他のモダンなLL言語と異なり、PHPは文字列の文字エンコーディングに関して何も仮定せず、単なるバイト列として管理しています。つまり、文字エンコーディングの取り扱いは各関数の実装に委ねられています。 下記の通り、これはマニュアルにも記述があるのですが、実に残念なことです。 残念ながら、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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く