47303


環境  
fuelphp 1.8.1  
PHP 7.1.16

下記friend2.phpでDBにinsertする為のコードを書き、`http://localhost/index.php/friend2/insert`
にアクセスすると、

[code]

    ReflectionException [ Error ]:
    Class Controller_Friend2 does not have a constructor, so you cannot pass any constructor arguments
    
[/code]

が表示されます。インターネットで解決方法を模索するも、どのようにエラーを処理したら良いのか暗中模索状態です。  
どなたかご回答のほど宜しくお願いします。

friend2.php(/Users/■■■■/Desktop/fuelphp-1.8.1/fuel/app/classes/controller)

[code]

    <?php
    
    class Controller_Friend2  {
        //メソッド
        public function action_insert() {
    
            DB::insert('friend')->set(array(
                'id' => '777',
                'name' => '梅宮辰夫',
                'age' => '71',
                'sex' => '男',
    
            ))->execute();    
        }
    }
    
    ?>
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/RZhIF.png)](https://i.stack.imgur.com/RZhIF.png)

request.php(/Users/■■■■/Desktop/fuelphp-1.8.1/fuel/core/classes)

[code]

        // Create a new instance of the controller
    $this->controller_instance = $class->newInstance($this); ←ここ
    
    $this->action = $this->action ?: ($class->hasProperty('default_action') ? $class->getProperty('default_action')->getValue($this->controller_instance) : 'index');
    $method = $method_prefix.$this->action;
    
[/code]


CC BY-SA 4.0
2018-08-07T02:16:26.160
47301
2018-08-07T02:59:42.773
2018-08-07T02:59:42.773
3060
29530
question
php mysql fuelphp
DBへのInsert時に "Class Controller_Friend2 does not have a constructor" エラーが出る


マニュアルにもありますがController class を拡張する必要があると思います。  
<http://fuelphp.jp/docs/1.8/general/controllers/base.html>

[code]

    class Controller_Friend2 extends Controller {
    
[/code]

まずは詰まったらググる前にマニュアルを確認してみるといいと思います。


CC BY-SA 4.0
2018-08-07T02:33:16.773
47303
2018-08-07T02:33:16.773
22665
47301
answer