kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

PHP

phpunit8のwarning対応

PHP

phpunit8を使っているとphpunit9でなくなるメソッドなどのwarningが発生します。 その対処方法いくつか備忘録として残しておきます。 assertArraySubset 結構重宝していたのでなくなるのは辛いメソッドです。 代替手段としては、 https://packagist.org/pack…

composer.lockのhashがコンフリクトしたとき

PHP

composer.lockのhashがコンフリクトした場合の対処法

phpmdでFileCacheDriverのエラー

PHP

phpmdを走らせてて、FileCacheDriverのエラーが出たときの原因

PHPMDのルールセットの作り方

PHP

phpmdのカスタムルールセットの作り方というか、xmlの書き方

composer scriptでphpのci周りを登録する

PHP

毎回調べているのでメモ phpでciを回すのによく使うものに PHP CodeSniffer PHP Mess Detector PHPUnit があります。 php7ならphanもですね。 これを、composerのrun-script 経由で叩けるようにしておくと、 毎回オプションなどを指定しなくて済むので楽です…

phpmdで特定のメソッド、クラスだけルールを除外する

PHP

phpmdでコード上から特定のルールを除外する方法

Laravelのルートパラメーターのフォーマット指定を簡略化

Laravelのルートパラメーターの指定を簡略化する方法

Laravelの名前空間の変更でサブ名前空間も追加する

コマンド Laravel(ver5.2)はデフォルトでは、Appという名前空間に属するようになっています それを変更するコマンドが下記です。 php artisan app:name Foo ただし、このコマンドでは、サブ名前空間を指定できないようです。 php artisan app:name Foo\Bar …

cakephpでsjisのデータベースを使う

cakephpでsjisのデータベースを扱う。5c問題への対応。

CakePHPのモデルでfindを実行するとInvalid arguments passedのエラー

CakePHPのモデルでハマったのでメモ。 バージョンは2.2 BarモデルのFindを実行すると下記のようなエラーが表示されました。 原因は、Barの継承元クラスで、public $useTable = falseとしていたのを忘れて、public $useTable = 'bar'を設定し忘れていたから。…

Goutteを使ってスクレイピング

PHP

Goutteを使ったスクレイピングのサンプル

composerのインストール時のdetect_unicode

PHP

composerでThe detect_unicode setting must be disabled.とエラーが出た時の対処方法

configureオプションの調べ方

apache,nginx,phpのconfigureオプションの調べ方

apt-getでUbuntuにphp5.6のインストール

Ubuntuにphp5.6をインストールした時のメモppa追加して、apt-getするだけです。 sudo add-apt-repository ppa:ondrej/php5-5.6 sudo apt-get update sudo apt-get install php5参考 Upgrade to PHP 5.6 on Ubuntu 14.04 LTS - PHP Avenue

phpで拡張子なしのファイル名取得

PHP

毎回調べているのでメモ phpで拡張子なしのファイル名を取得したいとき やり方はいくつかあるけど、一番簡単なのは多分、これ。 echo basename(__FILE__,'.php'); バッチなどを作るときにログに自分のファイル名を 吐き出したりするので、よく使います。

Discovering channel pear.channel.com over http:// failed with message: channel-add: Cannot open "http://pear.channel.com/channel.xml" (Connection to `my-proxy:proto' failed: 接続がタイムアウトしました)

PHP

Pearのチャネルを追加しようとしたら、コネクションタイムアウトでエラーになりました。 # pear channel-discover pear.channel.com Discovering channel pear.channel.com over http:// failed with message: channel-add: Cannot open "http://pear.channe…

AWS SDK for PHPの1系をインストール

既存のプロジェクトで、5.2系を使用しているため、どうしても1系をインストールする必要がありました。 チャネルの追加 # pear channel-discover pear.amazonwebservices.com Adding Channel "pear.amazonwebservices.com" succeeded Discovery of channel "…

PHPerがPythonをはじめてみました。

いろいろと都合がありPythonをはじめてみた。python初心者として、入門時に参考にしたリンク一覧とりあえず、基礎文法最速マスターシリーズを読んだ http://d.hatena.ne.jp/dplusplus/20100126PHPerが読むべき(英語サイト) http://www.ibm.com/developerwork…

phpのcofigureオプションを確認する

PHP

毎回調べているので、メモ php-config --configure-options

配列のキーでfilter

PHP

思いついたのでメモ書き トリッキー過ぎて現場では使えない。 'aaa', 2=>'bbb', 3=>'ccc', 4=>'ddd', 5=>'eee', ); var_export(array_…

CentOSにソースからPHPのインストール

CentOS PHP4.4.1をCentOS5.3にソースからインストールした PHP4の環境を作る必要があったときのメモ追記 トラックバックにてご指摘を頂きました。 http://d.hatena.ne.jp/elf/20090716/1247719991#c いくつか不備のあるところがあります。4.4.1の作業フォル…

Ubuntu mysqlの環境設定

phpからmysqlにつなぐための設定 mysqliを使いたい場合も同じ sudo aptitude install mysql-client sudo aptitude intstall php-5-mysql Serve側の設定Windowsなど外部から接続できるようにする。 /etc/mysql/my.cnfを編集 sudo vim /etc/mysql/my.cnf # Ins…

UbuntuをDesktopとして使用してphp開発

Ubuntu Desktopとして使用する デフォルトのgui環境であるgnomeは重いので、xfceに変更する sudo aptitude install xubuntu-desktop でインストール終わったら、一回ログアウト ログインする前に、セッションを選択し、xfce環境を選択 終わったらデフォルト…

PHPのインストール

UbuntuでPHPのインストール aptitudeでのインストール sudo aptitude install php5

多次元配列をソート

PHP

PHP 多次元 ソート array_multisort array( "foo" => 10, "bar" => 5, "hoge" => 7 ), [1] => array( "foo" => 8, "bar" => 6, "hoge" => 1 ), [2] => array( "foo" => 10, "bar" => 5, "hoge" => 7 ) ); foreach($data as $key => $row){ $foo[$key] = $ro…

PHPのエラーが発生

PHP Google Analytics Zend_ViewGoogle Analyticsのコードを埋め込んだページで以下のようなエラーが発生した Setting private or protected class members is not allowed Zend_View_Abstract->__set('__utmz', '1234567890.12387...') エラーメッセージか…

デフォルトのコントローラーとアクション

PHP Zend Framework デフォルト コントローラー Controller アクション ActionZend Frameworkでデフォルトのコントローラーとアクションを指定する方法 何も指定しないと IndexControllerのindexActionになる。HogeControllerのhugaActionにしたい場合 $fron…

array_pushと[]での追加

PHP

php array_push array_pushとでの追加は以下のように使い分けるのがいいらしい array_pushは引数が追加する要素を1個以上指定できるので 要素を複数追加したいときはarray_pushを使用する要素を1つ追加したいときはを使用する array_pushで追加すると関数を…

エディタの比較

PHP

php 開発環境 IDE エディタ 比較 PHPの開発環境の比較PDT 個人的にはPDTのプロジェクト単位の置換は使いにくいphpEclipse Smarty用のエディタがデフォルトでついてくるNetBeans IDE PDTでできるたいていのことができる PDT上での ctl+Kはctl+F3でできる ctl+…

MSSQL_PDO

PHP

MSSQL_PDO PHP カラム名 30セレクトで取得してきたときにカラム名が30バイト以上だとそこで切れるZend Frameworkから使用したときに上記の問題が起きる これは、selectで取得した結果も同様30バイト以内の名前で付け替えて対処した