k01ken’s b10g

He110 W0r1d!

PHP

PHPで詰まった部分

PHP

開発環境は、Windows 7 Professional(32bit) + PHP 7.1.7。 ■定数を使う ■trait(トレイト)を使う RubyのモジュールをクラスにMixinするみたいなことが、PHPでもtrait(トレイト)を使うことでできます。あるクラスにトレイトを入れることで、そのクラスのオブ…

CakePHP3で共通する処理をまとめる

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。コントローラ、モデル、ビューで共通して使えるクラスの作り方を調べました。1.srcディレクトリ内に、任意の名前のディレクトリ(今回は、Utilsディレクトリ)を作成する。 2.Utilsディ…

CakePHP3でSQL文を直接書く方法

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。できれば、クエリービルダーを用いてSQL文を書かずに済ませたいところですが、SQL文が複雑になるほど、クエリービルダーではどうやって書いてよいか分からず、直接、SQL文を書いたほ…

Windows7+XAMPPでImagick(ImageMagick)を使う

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。Windows上でImageMagickのPHP拡張であるIMagickを使う方法をネットで調べても、あることはあるんですが、分かりづらい記事ばかりで、かなり、詰まってしまったので、メモしておきます。振…

PHPの配列と連想配列のキーがバッティングするとどうなるか?について

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。例えば、以下のような配列を、$a[0]で呼び出すと、13と表示される。 次に、以下を、配列ではなく連想配列として、キーを0にし、値を設定して、$a[0]で呼び出すと、12と表示される。 12]…

PHPのisset関数に色んな値を入れた時の挙動

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。if文で条件分岐させたいときに、isset関数の挙動が気になったのでメモ。 null]; $c = ""; $d = 0; $e = -1; $f = false; $g = null; $h = "test"; unset($h); if(isset($a)){ echo "true<br>…

PHPでファイルのフルパスを表示する

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。 実行結果 __FILE__定数をdirname関数の引数に指定すると、そのファイルのあるディレクトリまでのフルパスを指します。また、dirname関数を重ねると、さらに1つ上のディレクトリまでのフ…

PHPで配列の中に配列を入れたい

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。 実行結果 Array ( [0] => Array ( [0] => apple [1] => orange ) )

PHPで関数内部でグローバル変数を使いたい

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。以下は、hoge関数内部で、変数$aを表示させることを期待しているのですが、 これを実行すると、Notice: Undefined variableと表示されます。グローバル変数の$aを関数内部で使うには、関…

PHPで複数の関数で交互に値を渡す

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。再帰関数をやっていたら、こういう形も、ありなんじゃないかと思いついたのでメモ。a関数は、b関数へ値を渡して、b関数はa関数へ値を渡すことを交互にやり、このままだと無限ループになる…

PHPでお絵かきロジックの任意の一行/一列分のスペースの全パターンを列挙する

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。お絵かきロジック 例えば、一行が15マスで、ある横のヒント数が3,1,1,3として、4つだった場合、スペースとして考えられるのは、5箇所(ヒント数+1)なので、5と指定。 次に、ヒント数の合計…

CakePHP3で詰まった部分

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。 【問題】テンプレート部分でtitleを設定したい テンプレートの上部にて、 assign('title',__('このページのタイトルです')); ?> 【問題】metaタグのkeywordとdescriptionを設定した…

PHPで漢字をひらがなやカタカナに変換する

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。 jarファイルのダウンロード https://ja.osdn.net/projects/igo/releases/ 1.『igo』の欄の(現時点で)一番上にある0.4.5の『igo-0.4.5.jar』をダウンロードする。 放置するとダウンロード…

PHPで任意の配列を表示する

PHP

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+PHP 7.1.7。入れ子構造になっているので、再帰関数を用いました。 [ "東京都","大阪府", "愛知県" => ["名古屋市","一宮市","春日井市" => [ "勝川","味美","春日井" ] ], ], "アメリカ" => [ "カリ…

CakePHP3でAjaxを使う

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。※JavaScript内で、Ajaxを使うときに、ローカル環境だと、パスを指定する際は、絶対パスだと、なぜか通信エラーになるので、例えば、Apacheを使っていて、htdocsディレクトリ内に、Cak…

CakePHPで、生成されたSQLクエリを見る方法

開発環境は、Windows 7 Professional(32bit)+XAMPP v3.22+CakePHP 3.5.8。開発段階で、debugkitを使うならば、データベースに接続したページで、debugkitのSql Logを見ること。使わないなら、config/app.php内のDatasourcesのlogをfalseからtrueにするだけ。…

WindowsのXAMMP内でCakePHP3を導入する

開発環境は、Windows 7 Professional(32bit)+XAMPP 3.2.2。 CakePHPで、思いついたWebサービスを作ってみたいと思い、ローカル環境に導入した過程をメモします。 ここでは、XAMPPはすでに導入されている前提で、書いていきます。1.環境変数PATHに、XAMPP内に…