LoginSignup
0
2

More than 5 years have passed since last update.

phalconのチュートリアル学習記録 -Vökuró編-

Last updated at Posted at 2018-04-06

phalconのチュートリアルを学習してみます。

こちらを元に勉強しました。
phalconチュートリアル-Vokuro編-

macでxamppの上に置いてやっています

githubからクローンする

ターミナルでhtdocsがあるところまでいってください。そしてクローンします。
僕は、macでxamppの上に置きたいので、このようなコードになります

cd /Applications/XAMPP/xamppfiles/htdocs
git clone https://github.com/phalcon/vokuro.git

すると、テンプレが出来上がりました。

次にvokuroに移動して、composerをインストールします
そのあとに、composer installをすればいいらしい

cd vokuro 
curl -sS -k https://getcomposer.org/installer | php
composer install

チュートリアル通りにするとエラーに・・・解決策見つけた!!

チュートリアルでは、これにアクセスせよと書かれていますが・・・
http://localhost/vokuro

エラーが出ました。

Warning: Phalcon\Mvc\View\Engine\Volt\Compiler::compileFile

でも、解決策見つけましたよ。

エラーに、index.php on line 41がどうのこうの書いてましたけど、そんなん関係ない!!!
cacheフォルダにアクセス権がないためにエラーが発生しているらしいです。

解決策はこれ
ターミナルで以下のコマンドを打ってください
chmod -R 777のあとは、cacheまでのパスを書いてくださいね。

chmod -R 777 /Applications/XAMPP/xamppfiles/htdocs/vokuro/cache

これで、cacheのアクセス権限はクリア!
もう一度見てみると、いけてました!よかった!

あとはカリキュラム通り

Vökuróは、Swiftという言語を使って、登録ユーザーのサインアップを確認するための電子メールを送信しているそう。
sends emails to confirm the sign up of registered users using Swift

composer.jsonはこうなるそうです。
実際に見たら、若干違うけど、ほとんど同じ。

vokuro/composer.json
{
    "require" : {
        "php" : ">=5.5.0",
        "ext-phalcon" : ">=3.0.0",
        "swiftmailer/swiftmailer" : "^5.4",
        "amazonwebservices/aws-sdk-for-php" : "~1.0"
    }
}

app / config / loader.phpには、最後に自動読み込み用の設定があるそう。
うん、確かにあった。

app/config/loader.php
<?php

// ...

// Use composer autoloader to load vendor classes
require_once BASE_PATH . "/vendor/autoload.php";

VökuróはINVOとは違って、コントローラとモデルに名前空間を使っているそう。
ちょっと初心者の僕には理解できない・・・どういうことなんだろう、どういう違いがあるんだろう。

app/config/loader.php
<?php

use Phalcon\Loader;

$loader = new Loader();

$loader->registerNamespaces(
    [
        "Vokuro\\Models"      => $config->application->modelsDir,
        "Vokuro\\Controllers" => $config->application->controllersDir,
        "Vokuro\\Forms"       => $config->application->formsDir,
        "Vokuro"              => $config->application->libraryDir,
    ]
);

$loader->register();

// ...

registerDirectories()を使う代わりに、registerNamespaces()を使うらしい
全ての名前空間?はapp / config / config.phpで定義されたディレクトリを指すらしい。
例えば、Vokuro\Controllersはapp/controllersを指すらしい。

でも、config.phpにそんな記述ないぞ・・・?
まあいっか、

app/config/config.php
<?php

namespace Vokuro\Controllers;

class AboutController extends ControllerBase
{
    // ...
}

create an accountをクリックしたら、エラーが出ました。

(未解決ですが一旦終わります・・・)

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2