PHPでCannot redeclare ~ (previously declared in ~)in ~

PHPで見慣れないエラーが出たのでメモ

Fatal error: Cannot redeclare myFunc() (previously declared in ~) in ~

「その関数は既に宣言されてるから再宣言はできないよ!」

ってことらしい。

コードを見なおしてみるとループの中で関数を宣言していた。

関数の宣言をループの外でしてあげれば済む話なんだけどそうはしたくない・・・

そんな時はfunction_exists()で関数が既に宣言されているかどうか調べる。

bool function_exists(string $function_name)

こんな感じでループの中で関数を宣言しても大丈夫

    $i = 0;
    while($i < 10){
       if(!function_exists('myFunc')){
          function myFunc(){}
       }
       $i++;
    }

ubuntuでパスとエイリアスの設定

パスの設定方法

現在の設定を確認

$ echo $PATH

~/.profileを開く

$ vim ~/.profile

ファイルの一番下にパスを指定(今回は~/netbeans-7.4/bin/netbeansが対象)

PATH="$PATH:~/netbeans-7.4/bin"

設定を反映させる

$ source ~/.profile

設定が正しく反映されているか確認

$ echo $PATH

こんな感じでパスの設定はすんなりできたけどパス先のプログラムをsudoで実行しようとするとなぜかできない・・・

どうしたものかと悩んでいたらエイリアスというものがあるらしい。

エイリアスとは簡単に言ってしまえばコマンドを自由に変更できる超便利機能。

エイリアスの設定方法

現在の設定を確認

$ alias

~/.bashrcを開く

$ vim ~/.bashrc

ファイルの一番下に設定を書く

alias snetb='sudo netbeans-7.4/bin/netbeans'

設定を反映させる

source ~/.bashrc

設定が正しく反映されているか確認

$ alias

これで次回から

$ snetb

とコマンドを打てばnetbeans7.4が立ち上がる

ありがとうエイリアス・・・・