CodeIgniterでアプリを作成しています。私はコントローラーAPIを持っていて、それから約300の関数を持っています。
これはパフォーマンスの問題ではないかと思います。どんな体も助けることができますか?
CodeIgniterでアプリを作成しています。私はコントローラーAPIを持っていて、それから約300の関数を持っています。
これはパフォーマンスの問題ではないかと思います。どんな体も助けることができますか?
非常に大きなコントローラーは、解析に時間がかかります。コントローラからメソッドが呼び出されるたびに、コントローラクラスが呼び出されてインスタンス化されるため、コントローラ全体を解析する必要があります(より適切には、ファットコントローラはリクエストごとに1回エンティティで解析する必要があります)。大きなファイルの解析には時間がかかりますが、追加の時間は非常に長くなります。
これは、パフォーマンスの観点から私が考えることができる唯一の欠点です。
もちろん、多くのメンテナンスの問題があります。
「メソッドの1つを呼び出すたびにインスタンス化されたクラス」の説明
CodeIgniterのURLルーティングは次のように機能します。
example.com/controller/method
だからあなたが訪問するとき
example.com/user/create
create
コントローラクラスの関数user
です。create
メソッドを呼び出すにはuser
、最初にクラスをインスタンス化してから、メソッドを呼び出す必要があります。
コントローラクラスに他に200の関数がある場合は、それらも解析する必要があります。
ここでブラウザをポイントすると
example.com/user/delete
クラスの以前のインスタンス化はもう存在しません。クラス全体を再度解析する必要があります。