Phalcon DevTools (4.0.1)でプロジェクト作成する

Phalcon DevTools (4.0.1)でプロジェクト作成する

Windows10にPhalcon3をインストールする」でPhalcon DevToolsをglobalインストールしているので、Phalconプロジェクトが作成できます。

これでsampleprojectディレクトリが作成されます。このディレクトリがプロジェクトルートです。

.phalconディレクトリができているのですが、このプロジェクトルートからコマンドを実行しないとモデル(エンティティ)など作成することができません。

DB設定(PostgreSQL)

モデルをCLIで作成するときにapp/config/config.phpファイルでDB接続情報を適宜記述しておく必要があります。

この接続情報が正しくないと、モデルを自動生成することができません。

ここではPostgreSQLに接続をしてみます。app/config/config.phpのDB接続情報を修正します。

モデル作成

empuserというテーブルが存在するとします。その状態でモデルを作成します。

これで作成に成功しました。app/models/Empuser.phpが作成されているはずです。

ERROR: could not find driverとエラーが出る場合は、php.iniを編集する必要があります。

色々オプションがあるようですが、詳細は以下にモデルのオプション説明の記載があります。

https://qiita.com/ryo511/items/599d544b2226a2c65a87

ちなみにemp_userテーブルの場合は、EmpUser.phpファイルが作成されます。

了。

ComposerコマンドからPhalconプロジェクトを作成する

今度はComposerコマンドでPhalconプロジェクトを作成してみます。

composer init -qでcomposer.jsonが作成されます。

composer require --dev phalcon/devtoolsコマンドでcomposer.jsonが以下のようになります。

{
"require": {},
"require-dev": {
"phalcon/devtools": "^4.0"
}
}

view raw
gistfile1.txt
hosted with ❤ by GitHub

vendor\bin\phalcon.bat project sampleprojectコマンドでsampleprojectを作成します。

c:\> cd sampleproject
c:\> ..\vendor\bin\phalcon.bat serve
Phalcon DevTools (4.0.1)
Preparing Development Server
Host: 0.0.0.0
Port: 8000
Base: .htrouter.php
Document Root: public
Starting Server with C:\php\php.exe -S 0.0.0.0:8000 -t .htrouter.php -t public
[Wed Mar 18 21:34:37 2020] PHP 7.4.3 Development Server (http://0.0.0.0:8000) started

view raw
gistfile1.txt
hosted with ❤ by GitHub

phalcon.bat serveでビルトインサーバを起動してくれるそうです。

これでhttp://localhost:8000/にアクセスするとウェルカムページが表示されます。

Phalcon DevTools (4.0.1)でプロジェクト作成する

https://kizu514.com/blog/install-phalcon-php-on-windows-10/

Phalcon Webtoolsを使う

http://localhost:8000/webtools.php/にアクセスするとPhalcon Webtoolsというページが開きます。

Phalcon DevTools (4.0.1)でプロジェクト作成する

このページからコントローラやモデルの作成(DB接続情報設定している必要あり)ができます。作成したファイルの編集もこちらで行えます。

ここで、test_tblのモデルを作成しておきます。作成に失敗する場合はDB接続情報をよく確認してください。(文字コードは削除する)

https://thinkit.co.jp/story/2014/07/09/5084

URIに決まりがある

PhalconはどうもURIに決まりがあるようです。チュートリアルをわからないながら読み進めています。

router.phpにルートを追加します。

<?php
$router = $di->getRouter();
// Define your routes here
$router->add(
'/aaa',
['controller' => 'index', 'action' => 'test']
);
$router->handle($_SERVER['REQUEST_URI']);

view raw
gistfile1.txt
hosted with ❤ by GitHub

第一引数にURI、第二引数のindexがIndexControllerを指し、actionのtestがIndexControllerのtestActionメソッドを指すようです。

IndexController.phpにtestActionメソッドを追加し、以下のようにしました。

※PostgreSQLにtest_tblがある前提です。

<?php
declare(strict_types=1);
class IndexController extends ControllerBase
{
public function indexAction()
{
}
public function testAction()
{
$region = TestTbl::findFirst(1);
echo $region->id + ' : ' + $region->name;
}
}

view raw
gistfile1.txt
hosted with ❤ by GitHub

これで、http://localhost:8000/aaaにアクセスすると以下のように1行取得した結果が表示されます。

Phalcon DevTools (4.0.1)でプロジェクト作成する

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA