いつもお世話になっております。
急にCakePHPを学ばなければならなくなりました。バージョンは、2.5.8とのことです。
早速本家ホームページの入門を読ませてもらっておりますが、CakePHP のコンソール¶
https://book.cakephp.org/2.0/ja/console-and-shells.html
のところでつまずいています。
.bashrc にアプリのパスを登録した上で、書いてある通りに、シェルの作成¶
https://book.cakephp.org/2.0/ja/console-and-shells.html#id2
しましたが(以下)、
お使いのアプリケーションの Console/Command ディレクトリで HelloShell.php を作ってください。その中に以下のコードを書きます。
class HelloShell extends AppShell {
public function main() {
$this->out('Hello world.');
}
}
入門通りにシェルを用意し、Console/cake hello を実行しても
Hello world. とは表示されず、
Error: Shell class HelloShell could not be found.
0 /var/www/html/blog/lib/Cake/Console/ShellDispatcher.php(200): ShellDispatcher->_getShell('hello')
1 /var/www/html/blog/lib/Cake/Console/ShellDispatcher.php(66): ShellDispatcher->dispatch()
2 /var/www/html/blog/lib/Cake/Console/cake.php(54): ShellDispatcher::run(Array)
3 {main}
が出ます。いろいろネットで調べましたが、パスが違うとの回答ばかりで試しましたが、結果はすべて同じでした。
また、cake を実行したときに、hello も見えていますし、他のシェルはちゃんと使えます。どこを直せばよろしいでしょうか?お分かりの方、おしえていただけますでしょうか?よろしくお願い致します。
# cake
Welcome to CakePHP v2.5.8 Console
App : Console
Path: /var/www/html/blog/app/Console/
Current Paths:
-app: Console
-working: /var/www/html/blog/app/Console
-root: /var/www/html/blog/app
-core: /var/www/html/blog/lib
Changing Paths:
Your working path should be the same as your application path. To change your path use the '-app' param.
Example: -app relative/path/to/myapp or -app /absolute/path/to/myapp
Available Shells:
[CORE] acl, api, bake, command_list, completion, console, hello, i18n, schema, server, test, testsuite, upgrade
To run an app or core command, type cake shell_name [args]
To run a plugin command, type cake Plugin.shell_name [args]
To get help on a specific command, type cake shell_name --help

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/09 09:39