Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter中的身份验证代码结构_Php_Codeigniter_Directory Structure_Ion Auth - Fatal编程技术网

Php CodeIgniter中的身份验证代码结构

Php CodeIgniter中的身份验证代码结构,php,codeigniter,directory-structure,ion-auth,Php,Codeigniter,Directory Structure,Ion Auth,我正在使用和开发一个小型web应用程序。该应用程序有3种不同类型的用户: 管理员:添加,列出所有,查阅项目,删除项目 作者:新增、列出全部、查阅 普通用户:全部列出,查询 (假设它们是新闻条目) 我有一个新闻控制器,可以添加、列出所有内容、查阅、删除以及相应的视图 到目前为止,我的控制器是这样组织的: 控制器: 管理员 news.php 作者 news.php 普通用户 news.php 公开的 因此,登录后,用户被重定向到相应的新闻控制器。例如,作者新闻控制器具有添加、查看

我正在使用和开发一个小型web应用程序。该应用程序有3种不同类型的用户:

  • 管理员:添加,列出所有,查阅项目,删除项目
  • 作者:新增、列出全部、查阅
  • 普通用户:全部列出,查询
(假设它们是新闻条目)

我有一个新闻控制器,可以添加、列出所有内容、查阅、删除以及相应的视图

到目前为止,我的控制器是这样组织的:

控制器:

  • 管理员
    • news.php
  • 作者
    • news.php
  • 普通用户
    • news.php
  • 公开的
因此,登录后,用户被重定向到相应的新闻控制器。例如,作者新闻控制器具有
添加
查看
查阅
功能,而普通用户新闻控制器只有
查看
查阅
功能

困扰我的是,这必须是一种简单的组织方式,根据用户类型授予不同的权限。它应该重复某些代码吗

风景怎么样?标题将根据用户的不同而不同。我应该使用相同的标题模板和一些if语句来显示不同的数据(取决于用户),还是应该在包中重复视图,更改标题

观点:

  • 管理员
    • header.php
    • add.php
    • view.php
    • list.php
    • delete.php
    • footer.php
  • 作者
    • header.php
    • add.php
    • view.php
    • list.php
    • footer.php
  • 普通用户
    • header.php
    • view.php
    • list.php
    • footer.php

现在我有一个
模板
文件夹,其中有
header.php
footer.php
,但我有不同的页眉的问题。

不不不不不不不。当你第二次(几乎)做同样的事情时,警报应该会响起,更不用说第三次或第四次了

1个页眉/页脚视图,带有几个if语句。对于list和其他重复了一半代码的地方可能也是如此

除非它们完全不同,否则也不要使用三种不同的新闻控制器。同样,使用控制语句来引导程序流,无论如何,您都应该检查各个控制器内的适当访问级别。不要只在主控制器中执行一次并重定向,这些控制器可以通过URL直接访问

我真的无法在这里输入任何代码来帮助您,但是如果您有任何问题,请开始并返回。此外,可能值得在CodeReview上发布一些代码,以获得关于如何采用干式软件开发的一些提示