php関連

WindowsでMySQL 8.0.3 rc からMySQL 8.0.13へのアップグレードでハマる。

PHPのフレームワークのLaravelと、PHPのCMSのWordPress、なぜか連携方法についてはほとんど情報が無いという... よく、『車輪の再発明』は宜しくないって言葉をプログラマーの世界では聞くけど、それならば何故に、Laravel ✕ WordPress みたいなコラボのノウ…

Visual Studio CodeでPHPを使えるようにしてみる

知り合いの方に、Webランディングページみたいなの作れない?と言われたので、作ってみる流れに。(作ったことないけど...)。 で、レンタルサーバーでお願いということで、Javaは使えませんと。ということで、PHPかな~、と。WordPressとLaravelの連携とか…

Ubuntu 16.04 LTSにインストールしたWebサーバーLiteSpeed にインストールしたWordPressをマルチサイト化

仮想マシンにWordPressを入れたので、せっかくなので、WordPressのテーマを変更してマルチサイト化もしてみたいと思います。 これが、地獄の始まりでしたよ...迷走しまくりですので、まとまりがない記事になってしまっていますが、お時間のある方はご照覧く…

第4のWebサーバー LiteSpeedとは

Webサーバーで、LiteSpeedなるものが出ていたようですね。 jbmedia.jp ⇧ 上記サイト様によると、無料版のOpenLiteSpeedでさえもNginxを凌ぐレスポンス性能を発揮しているようです。高速WordPress実行環境「KUSANAGI」と比べるとどうなのか気になりますね。 …

Chrome Loggerは、echoなどの後で使うとエラーになる?(PHPで使う場合)

どうも、最近、Chrome Loggerという存在を知りました、時代の波に取り残されまくってます。ハマってる音楽は、Of Monsters And Men です、最近は聞けてないけど。 Chrome Loggerとは 何でも、Chromeブラウザの拡張機能らしいです。オンリーChrome?Yes, We C…

EclipseでPHP開発の環境構築

IDE(統合開発環境)にEclipseを使ってPHPの開発環境を構築してみたので、メモしてみます。環境はwindows7(64bit)です。 Eclipse 4.5 MarsのPleiades All in Oneセットをインストール http://mergedoc.osdn.jp/ に行って『Eclipse 4.5 Mars Pleiades All i…

MySQLデータベースのテーブルがインポートでっきない『Unknown character set: ‘utf8mb4’』エラーの対処方法

ローカルな環境のXAMPPのMySQLのデータベースのテーブルをエクスポートして、XdomainのPHP・MySQLサーバーのデータベースに『shopping_db』というデータベースを作成し、ローカル環境のテーブルをインポートした際に起きたエラーです。 ローカル環境のMySQL…

MySQLでdecimal型を使う時に

decimal型とは 「パック無し浮動小数点」は、各桁の数値を1文字ずつ文字列として格納します。 浮動小数点(FLOAT型・DOUBLE型)では演算に誤差が生じる場合があるため、金額など正確な演算を行うには、パック無し浮動小数点(DECIMAL型・NUMERIC型)を使用し…

Webアプリケーションの脆弱性と対策

Webアプリケーションの脆弱性いろいろ スクリプト挿入攻撃(Script Insertion) クロスサイト スクリプティング(Cross Site Scripting / XXS) クロスサイト リクエスト フォージェリ(Cross Site Request Forgeries / CSRF) SQLインジェクション(SQL Inj…

PHP5.3で導入された 名前空間

名前空間とは 2009年にPHP5.3.0のバージョンが出たことで、PHPに『名前空間』というものが導入されました。 『名前空間』を使うと、クラスや関数に名前をつける際に、他の人が作ったライブラリで使われてるクラスや関数の名前と一緒になってしまう(業界用語…

$dbh -> query( 'SET NAMES utf8' );の引数の意味とか

PHPのPDOクラスでのデータベース接続で、 query('SET NAMES utf8'); みたいな記述が出てきて、『query('SET NAMES utf8');』の引数の意味を調べてみました。 結論として、『'SET NAMES utf8'』はSQLステートメント(SQL文)で、 『'SELECT * FROM mst_staff…

PHP5.1.0から導入されたPHP Data Objects (PDO) 拡張モジュールとPDOクラス(データベース接続)

PDO(PHP Data Object)って何じゃらほい。 「SimpleXML」と「JSON」で共通データ形式を便利に (2/2)- @IT によりますと、 というように、データベースの種類が異なったとしても、それぞれのPDOドライバを用意しておけば、PDOコアモジュールが提供するAPI…

他のオブジェクト指向言語とは異なるPHPのオーバーロード

オーバーロード プログラミング言語において関数や演算子やメソッドの同一名や同一の演算子記号について複数定義し、利用時にプログラムの文脈に応じて選択することで複数の動作を行わせる仕組みである。 PHPには「オーバーロード」という機能が存在するが、…

PHP7からサポートされる無名クラス

PHP7から使えるという無名クラス、なんとクラスの定義をすることなくインスタンス(オブジェクト)を生成できる機能のようです。 new classで インスタンスを生成します。 ⇩ 無名クラスについては下記サイトへ ・PHP 7 の無名クラスから考えるクラスの在り方…

PHP5.3から追加された遅延静的束縛(Late Static Bindings)

『遅延性的束縛(Late Static Bindings)』ってネーミングは、インパクトがすごいですが。 qiita.com ⇧ 上記サイト様が分かりやすいかと。 maeharin.hatenablog.com ⇧ 上記サイト様が、詳しく解説してくれてます。 静的な呼び出しで起こる問題 「遅延静的束…

PHP5.4以降で導入されたトレイト(trait)というしくみ

PHP5.4以降で『トレイト(trait)』というしくみが導入されたようです。 抽象クラス、インターフェイスときて、トレイトです。 トレイトは、多重継承のできないPHPで、継承することなくクラスにメンバ(メソッドやプロパティ)を追加できるしくみのようです…

インターフェイス(interface)と抽象(abstract)クラス

詳しく分かりやすい説明をしてくれてるサイトが多いので、もはや、下記サイトをご覧になっていただければ済む話ですが、一応、自分なりにインターフェイス(interface)と抽象(abstract)クラスの違いを調べました。(ほぼ、他サイト様の流用です。) ⇩ イ…

PHP5で導入された、抽象(abstract)クラスとそのメソッド

インターフェイス(interface)と似て非なるもの、それが抽象(abstract)クラスらしいです。 PHPマニュアル(PHP: クラスの抽象化 - Manual )の説明によると、 クラスの抽象化 PHP 5 では、抽象クラスとメソッドが導入されました。abstractとして定義され…

PHP5で出てきたらしいインターフェイス(interface)について

前に、タイプヒンティング(型宣言)について調べたら、インターフェイスと組み合わせると効果的となっていたんですが、PHPマニュアルによると、 『 インターフェイスとタイプヒンティングを組み合わせると、 特定のオブジェクトに特定のメソッドをうまく持…

PHP5.4から実装された『タイプヒンティング(型宣言)』とは? PHP7系では型宣言と呼ばれる

タイプヒンティング(Type Hinting) パラメータ(引数)の型を指定できます。 指定した型のことをタイプヒント(型ヒント)といい、タイプヒントに一致しない型のパラメータ(引数)を受け付けません。(型が違うとエラー。) PHP5から導入されました。 PHP…

public function baz(Test $other)の引数の意味が分からないので調べてみました

PHPのアクセス権について、PHPマニュアルを見ていたら、『public function baz(Test $other)』なるメソッドがクラスの中で定義されていたのですが、引数の中身の意味が分からなく、説明も一切なかったので調べてみました。 ・PHP: アクセス権 - Manual その…

静的(スタティック)メンバと「シングルトン」と呼ばれる実装方法

スタティックとは? ⇒ static キーワード(クラスとオブジェクト)- PHPマニュアル オブジェクト指向は「クラスを作って、それをオブジェクトとして呼び出す」ということです。 一般的に、new演算子でクラスのインスタンス(オブジェクト)を作ってクラスの…

PHPで擬似変数$thisって何のためにあるのか?

PHPで擬似変数$thisって、何のためにあるの?と思ったので調べてみました。 例:擬似変数$this todays_date = date("Y-m-d"); $this->name = $GLOBALS['firstname']; /* 等など. . . */ …

PHP5.4から実装されたClosure::bind( )でprivateなプロパティ(メンバ変数)に外部からアクセス

PHPでは、PHP5ぐらいから、『オブジェクト指向プログラミング言語(OOP)』、俗に言う『オブジェクト指向』の機能が充実してきました。 ・PHP: Hypertext Preprocessor ・オブジェクト指向プログラミング OOP(object-oriented programming) 相互にメッセージ…

キャッシュ(Cache)とクッキー(Cookie)とセッション(Session)など ~愛しさと切なさと心強さと~とは全く関係ない

Webブラウザ(パソコン)に保存されるもの キャッシュ( Cache )⇒ 何度も見るWebページがある場合に、2回目以降の閲覧時の表示スピードを上げるため、ページ内の画像やアイコンといったデータをパソコン内に保存する仕組み(またはその保存されたデータ自体…

$ans |= (1 << $qno); がどういう意味か分からないので調べたら、PHP ビット演算子によるフラグ処理のようでした

ビット演算子のPHPマニュアルによる説明では、 ビット演算子 ビット演算子は、整数値の特定のビットの評価や操作を行います。 ビット演算子 例 名前 結果 $a & $b ビット積 $a および $b の両方にセットされているビットがセットされます $a | $b ビット和 …

spl_autoload_register( )の引数のarray( )の意味が分からなかったので調べてみました

『パーフェクトPHP』って本で『spl_autoload_register( array( $this, 'loadClass' ))』って記述が『ClassLoader.php』ファイルの中で出てきました。 が、引数の配列(『array( $this, 'loadClass' )』)の意味がよく分からなかったので調べてみました。 cor…

『ENGINE=InnoDB DEFAULT CHARSET=utf8 ;』って何なのか?と思ったので

データベースによるデータ管理 | 東京大学グローバル消費インテリジェンス寄附講座 でMySQLのsql文の中に『ENGINE=InnoDB DEFAULT CHARSET=utf8 ;』って出てきたので気になって調べてみました。 InnoDB(イノデービー)はMySQLのためのデータベースエンジンで…

PHP CakePHP(バージョン2.6.4)というフレームワーク

フレームワークがMVCの原則に従うことから、アプリケーションのほとんどの側面に於いてカスタマイズ・拡張が簡単にできるようになります。このフレームワークはファイル名からデータベースのテーブル名まで、基礎的な組織構造も提供し、アプリケーション全体…

PHP PDOオブジェクトとJavaScriptのajaxで掲示板風アプリ

XAMPPの中のMySQLデータベースサーバ(phpMyAdmin)にデータベース名『rensyu0508』のデータベースを作り、テーブル名『hitokoto』のテーブルを作る。 テーブル『hitokoto』 dispの値が『0』の時はブラウザに表示されないようにし、『1』の時はブラウザに表…