正規表現 -ハイフン 判定

メールアドレスのチェックを正規表現で行っていたが、ハイフンが入らない。

ソースを見ても、ハイフンちゃんと入っているのに・・

[a-zA-Z0-9\._-¥+]

エスケープしたら、許可されるようになった。

[a-zA-Z0-9\._\-¥+]

でも、違う場所で
[a-zA-Z0-9_-]
と判定している時は、ハイフンがちゃんと許可される?

なんで? 納得いかん。。。

グーグル先生にきいてみる。

なんと!!!
正規表現で[ ]を利用した時のハイフンは、
最初か、最後におかないといけないらしい。

たしかに、0-9とかでハイフン使うし・・

ということで、
[a-zA-Z0-9\._¥+-]
これでOK!
納得!スッキリ!

参考ありがとう:http://www.4web8.com/3195.html

MySQL 外部キー 制約削除

いきおい余って作ってしまった外部キーが都合が悪いので削除する。

まず、外部キーIDを確認
SHOW CREATE TABLE [テーブル名];

すると、結果の最後の方に下記の記述があるので、そこから外部キーIDを取得


CONSTRAINT `[外部キーID]` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`),

削除
ALTER TABLE [テーブル名] DROP FOREIGN KEY [外部キーID];

参考ありがとう:http://d.hatena.ne.jp/Climber/20060407/1144401983

CakePHP 多言語対応 locale

viewファイルに文言書くとき

 

のように、
翻訳する部分は全て __(‘ ‘)で囲んでおく。アンダーバー2個!
この中身が日本語でもいいみたいだけど、やっぱり普通は英語なのかな。

i18nを使用して翻訳用のファイルを作成する。

コンソールにて
cd cakephpのappのパス/Console
./cake i18n -app cakephpのappのパス

こんな感じに出てくる
Welcome to CakePHP v2.4.6 Console
—————————————————————
App : Console
Path: /cakephpのappのパス
—————————————————————
I18n Shell
—————————————————————
[E]xtract POT file from sources
[I]nitialize i18n database table
[H]elp
[Q]uit
What would you like to do? (E/I/H/Q)
>

potファイルを作成するので、E エンター

あとは聞かれるがままに、、
そのままエンターし続けてもファイルはできる

app/Locale/default.pot

app/Locale/配下にjpn/LC_MESSAGESのフォルダを作成し、
先ほどできたpotファイルを
default.po という名前でコピー

後は、中身に日本語を入れればOK。

特に表示の設定をしなければ、日本の環境なら日本語が表示される

参考ありがとう:

CakePHP DebutKit 導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone https://github.com/cakephp/debug_kit

プラグインのフォルダ名を変更しておく。
$ mv debug_kit DebugKit

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘DebugKit’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●コンポーネントの飲み込み
/app/Controller/AppController.phpのクラスの中に以下を追加
public $components = array(‘DebugKit.Toolbar’);

これで、画面の右上に、アイコンが固定表示される。
クリックすると、いろいろ情報が見れる

さらに、実行SQLを表示する場合、
/app/View/Layouts/default.php に記述追加
element(‘sql_dump’); ?>

参考ありがとう:http://qiita.com/BUN/items/403cccad9eaa831e6fd8

CakePHP2 BoostCake導入

CakePHPの設定がひととおり終わった状態から。

今回は、コマンドでやってみる。

$ cd app/Plugin
$ git clone git://github.com/slywalker/cakephp-plugin-boost_cake

プラグインのフォルダ名を変更しておく。
$ mv cakephp-plugin-boost_cake BoostCake

●プラグインのロード記述
/app/Config/bootstrap.phpに以下を追加
CakePlugin::load(‘BoostCake’);

(複数のプラグインを導入する場合は、ひとつひとつ書かずに CakePlugin::loadAll(); でもOK)

●ヘルパー追加
/app/Controller/AppController.php に追加
public $helpers = array(
‘Session’,
‘Html’ => array(‘className’ => ‘BoostCake.BoostCakeHtml’),
‘Form’ => array(‘className’ => ‘BoostCake.BoostCakeForm’),
‘Paginator’ => array(‘className’ => ‘BoostCake.BoostCakePaginator’),
);

参考ありがとう:
http://blog.livedoor.jp/spyder_5615/archives/36127430.html
http://qiita.com/BUN/items/d1e48d07d34de475bc77

MAC Google日本語入力設定

今まで、デフォルト?の「ことえり」を使ってきたけど、
Google日本語入力が良さげなので入れてみる。

Google日本語入力ページからダウンロード

GoogleJapaneseInput.dmgというのがダウンロードされるので、クリック
GoogleJapaneseInput.pkgというのができるので、ダブルクリックして、インストーラーを起動
インストーラーに従い、インストール

文字
とりあえず、「ひらがな(Google)」をクリックすると変更される。

デフォルトの変更が必要とのGoogle先生の意見もあったのだが、
mavericksになって、デフォルトの入力を設定する画面が変わってるみたい。
システム環境設定 > キーボード > 入力ソース
になる。

ことえりを削除してしまうのもちょっと。。
英数⇔かなの変更しても、Google日本語入力に戻るみたいなので、しばらくこのまま様子を見よう。

MAMP 起動するPHPのバージョンを変更

MAMP3.0をインストールした。

デフォルトで切り替えられるPHPバージョンは、
5.1.6 と 5.5.9になっていた。

今まで5.3あたりも使っていたので、5.1.Xでなくて、5.3.Xにしたい。

/Applications/MAMP/bin/php/配下にあるPHPバージョンの
一番上と一番下が表示されるみたい。

存在してたPHPバージョンは、
php5.1.6
php5.2.17
php5.3.28
php5.4.25
php5.5.9

お客さんによってPHPバージョンを切り替えながら開発したい。
どうやら使わないPHPフォルダをリネームすればよさそう。

とりあえず、5.3.Xを出したいので、前の二つのフォルダ名に「–」をつけてみた。
–php5.1.6
–php5.2.17

MAMPを立ち上げたままだったので、一旦終了して、起動。
スクリーンショット_2014_03_07_17_40

やった〜♪

一応、スタートページで確認。
MAMP
ばっちり!
これなら、ちょこちょこ変更があっても簡単♪

参考ありがとう:http://stackoverflow.com/questions/16783558/how-can-i-add-additional-php-versions-to-mamp

MAMP phpMyAdminを最新バージョンにアップグレード

MAMP3.0をインストールしたものの、phpMyAdminのバージョンが最新でないとのメッセージが出るので、
アップグレードすることに。
この時点で、最新バージョンは 4.1.9 で、2014-03-06 にリリース

1.phpMyAdminのサイトより、最新版をダウンロード
phpMyAdmin1

phpMyAdmin-4.1.9-all-languages.zip をクリックしてダウンロード

2.MAMPは停止しておく。

3./Applications/MAMP/bin/phpMyAdminフォルダを差し替えるのだけど、一応リネームしてとっておく

4.ダウンロードしたzipを解凍し、名前を「phpMyAdmin」にリネームして、
/Applications/MAMP/bin/配下におく。

5.MAMPを起動し、phpMyAdminを起動
(スタートページのMySQLの中身が表示されなくなってたけど、気にしない!)
ログイン画面になるので、ユーザー名とパスワード(前のバージョンで変更していたものが効いていた)入力してログイン

無事、最新バージョンに変更された♪

参考ありがとう:http://pc-karuma.net/mamp-phpmyadmin-update/

追記:MAMPでサーバーを起動するときに、エラーメッセージが出る

「MySQL データベースの確認に失敗しました」
(phpMyAdminに自動的にログインできないから?)
設定を確認しようと、
/Applications/MAMP/bin/phpMyAdmin/config.inc.php
を探したらなかった!

config.sample.inc.phpというファイルをコピーして、config.inc.php を作る。

cookie認証になっていたので、前と同じにconfigに変更

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

上記をコメントアウトして、3行追加

$cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
$cfg[‘Servers’][$i][‘user’] = ‘root’;
$cfg[‘Servers’][$i][‘password’] = ‘設定したパスワード’;

MAMPを起動しなおして、確認。

スタートページのMySQLの中身は表示されて、phpMyAdminを起動すると、ログイン入力が必要なくなったけど、サーバー起動時のエラーはまだ出てくる。

スクリーンショット_2014_03_07_17_15

mysqlcheckでエラーになってるみたい。

前もみたような・・・

・/Applications/MAMP/bin/checkMysql.shを編集

/Applications/MAMP/Library/bin/mysqlcheck –all-databases –check –check-upgrade -u root -p<新パスワードに変更> –socket=/Applications/MAMP/tmp/mysql/mysql.sock

ついでに下記の3ファイルも同様に修正
・/Applications/MAMP/bin/repairMysql.sh
・/Applications/MAMP/bin/upgradeMysql.sh
・/Applications/MAMP/bin/quickCheckMysqlUpgrade.sh

MAMPを一旦終了させて、起動、サーバーを起動。
エラーが出なくなった〜。 快適♪

参考ありがとう:
http://php1st.com/435/
http://plmin.us/blog/2012/03/05/mamp%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E5%A4%89%E6%9B%B4%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

MAMP3.0 MySQLパスワード、データの場所変更、バーチャルホスト設定

OSクリーンインストールしたので、設定しなおす。

MAMPのデフォルトのままでは、パスワードが「root」なので、変更。

ターミナルにて変更
$ /Applications/MAMP/Library/bin/mysqladmin -u root -p password <変更パスワード>
Enter password: ← 変更前のパスワード

phpMyAdminが開けなくなるので、
/Applications/MAMP/bin/phpMyAdmin/config.inc.php を書き換える
変更前:$cfg[‘Servers’][$i][‘password’] = ‘root’;
変更後:$cfg[‘Servers’][$i][‘password’] = ”;

そして、Dropboxでmysqlデータを共有しているので、そっちに向ける。

MAMPサーバーを停止して作業する。
1.元のフォルダをリネーム
/Applications/MAMP/db/mysqlフォルダ mysql_oldとかに変更
2.シンボリックリンク作成
$ ln -s /Users/username/Dropbox/MAMP_dropbox/mysql/data /Applications/MAMP/db/mysql

lsで確認すると、こんなのができている
mysql -> /Users/Maki/Dropbox/MAMP_dropbox/mysql/data

MAMPを起動して、phpMyadminで確認すると、無事リンク先が確認できた♪

バーチャルホスト設定

1.httpd.conf 編集
/Applications/MAMP/conf/apache/httpd.conf

# Virtual hosts
#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
Includeのコメントアウト解除

2.httpd-vhosts.conf 編集
/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

NameVirtualHost *:80
の行がコメントアウトされていないか確認

下記追加

DocumentRoot “/Users/username/Dropbox/MAMP_dropbox/htdocs”
ServerName localhost

DocumentRoot “/Users/username/Dropbox/MAMP_dropbox/htdocs/hoge”
ServerName hoge.localhost

3. hosts 編集
/private/etc/hosts
127.0.0.1 hoge.localhost
を追加
(このファイルを直接編集でもいいのだけど、「Hosts」アプリを入れたのでそっちから編集)

よ〜し。動いてきたぞ!