Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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をクリックしたら、エラーが出ました。

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした