1

私はmvcとフレームワークに非常に慣れていないので、今までに多くの課題に直面してきました

私はサイトを持っていて、ユーザーがログに記録されている場合、ユーザーが私のサイトにアクセスしたときにログに記録することも、ログに記録しないこともできると言い、ヘッダービューで「ようこそユーザー名」と言いたい

ヘッダー ビューはさまざまなコントローラーから呼び出される予定です。適切なアプローチは、ユーザーが各コントローラーにログインしているかどうかを確認し、そのデータをヘッダー ビューに渡すことだと思います。

しかし、これを行うより簡単な方法は、これをビューで直接行い、コントローラー認証部分に乗ることです

ヘッダービューで次のようなことをしたい:

$this->load->controller('user');
$user = $this->user->is_logged();
if($user)
echo "welcome $user";

これを行う方法はありますか?答えが「はい」の場合、それは正しい/有効な慣行ですか? いいえの場合、時間を短縮する方法はありますか?コーディングはこの種の状況ですか?

4

1 に答える 1

1

You dont call controllers from a view!

If you have 'repetitive' tasks - they should be put into a library, or helper, and run from there.

In that library - you have a function like

function display_log_status()
{
     if ($this->user->is_logged())
     {
         return "welcome!";
     }
     else
     {
          return "please log in!";
     }
}

Then just call "display_log_status()" in your view.

MVC Guide

Creating Libraries in CI

于 2012-05-16T16:00:20.763 に答える