題名の通りなのですが、php oil g modelを実行すると通常は/fuel/app/classes/model
に生成されます。
しかし、moduleを使っているため
fuel/app/modules/provide/classes/model
に生成させたいのですが、どこで設定するのでしょうか。
「fuelphp module oil model 場所 変更」
で探してるのですがなかなか情報が見当たらず。。。
追記
もしかして設定変更できない?
oilファイルから分析してみました。
public static function model($args, $build = true) { $singular = \Inflector::singularize(\Str::lower(array_shift($args))); if (empty($singular) or strpos($singular, ':')) { throw new Exception("Command is invalid.".PHP_EOL."\tphp oil g model <modelname> [<fieldname1>:<type1> |<fieldname2>:<type2> |..]"); } if (empty($args)) { throw new Exception('No fields have been provided, the model will not know how to build the table.'); } $plural = \Cli::option('singular') ? $singular : \Inflector::pluralize($singular); $filename = trim(str_replace(array('_', '-'), DS, $singular), DS); $base_path = APPPATH; if ($module = \Cli::option('module')) { if ( ! ($base_path = \Module::exists($module)) ) { throw new Exception('Module '.$module.' was not found within any of the defined module paths'); } $module_namespace = ucwords($module); } // こいつを発見。 $filepath = $base_path.'classes'.DS.'model'.DS.$filename.'.php';
該当箇所を$filepath = $base_path.'modules'.DS.$filename.'.php';
に修正してみるとmodel生成場所が変わりました。
configフォルダ配下に何かしらのファイル持ってきてdb.phpみたいな感じで上書きするのかなぁーとか思ってたんですが
ハードコーディングされてるし、イメージと違うのか、、、
このファイルってfuel/packages/oil/classes/generate.php
でパッケージに入ってるんで、ちょっと悩みます。
僕はpackagesやvendorはgit管理していないので、model生成場所がハードコーディングされている以上、対応できないですね。。。
未検証だけど、fuel/packages/oil/classes/generate.php
でのmodel生成場所を修正してgit管理したところで多分、composer updateしたらgit管理しているfuel/packages/oil/classes/generate.php
が上書きされてしまう気がする。
なにか方法はないものか。

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