ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

mecabをphpのproc_open()を使って実行したらうまく解析されなかった件。

哀れなできごとでした。


私はこの事象に2時間を浪費しました。


結果から先に。


mecabは改行で文章を終わりと判断します。


逆に改行がない文章の解析は不具合がでてもおかしくないってね。


なので、解析する文章は改行を付与してあげましょう。


私はこれがわからなかった。(知っていたはずだったんだけど、、、)

続きを読む

【PHP】preg_replace()で「php Empty regular expression in」

php Empty regular expression in


なんだろ?

<?php
// これはエラー
// $test = preg_replace(array("\r", "\n", "\r\n"), "\s", $string);

// 「/」で囲ってみる
$test = preg_replace(array("/\r/", "/\n/", "/\r\n/"), "\s", $string);


置換対象の文字列を「//」で囲ったらエラーが消えましたとさ。

【PHP】explode()で、エスケープ文字が動かない(´・ω・`)

explode() が、うまく動作してくれません。

<?php
// $string は何かしらの文字列
$array = explode('\t', $string));

マニュアルに載っていました。


PHP: 文字列 - Manual


文字列が二重引用符 (") で括られた場合、 PHP は、より多くの特殊文字のエスケープシーケンスを理解します。


ふぇええ・・・

<?php
// シングルからダブルクォーテーションに変更しただけ
$array = explode("\t", $string));


動きました(´;ω;`)ブワッ


チクショー!!

PHP Fatal error: Cannot use object of type stdClass as array in

TwitterのAuthのプラグインを使って、データを取得しようとしたら何やら見慣れないエラーが。


あぁ。オブジェクトを配列のように扱うんじゃない! って、怒ってらっしゃるのね。

<?php

// エラーの書き方
// $data['statuses'][0]['text'];

// statusesとtextはオブジェクト
// 修正
$data->statuses[0]->text


途中途中で配列なのね。


こう直したらなおりました。( ´ー`)フゥー...

composer installしたら「Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.」

こちらの方の記事を参考にしたらできました。


qiita.com

$ composer update --lock


ありがたやーありがたやーm(_ _ )m

【CakePHP】隊長。テストデビュー

ついにテストを書き上げることに成功した!!!


っつても、大したことではありませんが。(周りはほとんど書いてるし)


これからテストが楽に、またデグレが発生しないように品質を高められればいいかな。


今回は、モデルのとあるメソッドをテストしました。

<?php
App::uses('User', 'Model');

class UserTest extends CakeTestCase {
    public function setUp() {
        parent::setUp();
    	$this->User = ClassRegistry::init('User');
    }


最初、「$this->loadModel()」を利用したら、エラーはいて、ちょっと困っていました。

Call to undefined method ContentTest::loadModel() in 〜


どうやら、テストする上では、モデルはこんな感じで使って欲しいらしい。まだうまく理解したわけではないけど。


おお。コードカバレッジも確認できるのね。

UserTest.php Code coverage: 13.64%


Oh...


がんばるお(^ω^ = ^ω^)

sitemap.xmlの時間形式がまちがってるお。って突っ込まれたのでメモ

こうすれば、ジオンはあと10年戦えます(?)

<?php
date('Y-m-d\TH:i:s+09:00', strtotime('2015-04-30 10:19:23')));


結果

2015-04-30T10:19:23+09:00


やりかたあたっているか分らんけど、これでまずは読み込みさせるお(^ω^ = ^ω^)