SVN是一套版本控制系统,简单地说就是一套自动备份系统。这个比喻虽然不太恰当,但使用SVN完全不用担心数据的丢失,只要从一开始就使用SVN,哪怕项目快结束了,也能找到刚开始时的文件内容。事实上SVN远不止备份那么简单,之所以这样比喻,是为了让没接触过SVN的读者有个直观印象,方便接下来的学习。图1-21 SVN流程图图1-21简单地演示了SVN多人协同开发时的流程。......
2023-11-04
SVN提供了完善的用户管理权限,用户管理权限在多人项目开发中具有非常重要的作用,它能够明确地让开发人员在自己的职责范围内编写代码。例如技术经理应该能够控制整个项目的文件读写;而程序员应该根据职责分配相应的权限,例如做前台界面设计的不应该能够编写后台PHP模块文件。SVN使用authz文件作为权限配置文件,该文件提供了用户组功能,组别权限配置能够具体到项目的文件夹。下面通过一个简单的示例介绍authz权限文件的配置。
假设当前项目有3名程序员共同参与,匿名用户没有任何权限(默认情况下有读的权限),只需要在passwd文件中配置3名用户即可,代码如下。
如上述代码所示,ceiba与test用户都是普通的程序员;manger是项目负责人。在项目中添加bbs和user目录,分别代表论坛系统与会员中心;为了便于分工合作,这里将分配bbs目录给用户ceiba,让其具有可读可写的权限;user目录分配给test,让其具有可读可写的权限。用户ceiba进入user目录时,限制其只能浏览但禁止提交文件;test用户访问bbs目录时也限制其只能浏览但禁止提交文件。
根据上述权限分配要求,只需要在authz创建一个权限组admin,这个权限组只赋给项目负责人manger;然后再分别对项目下的其他目录单独配置权限,authz文件代码如下。
如上述代码所示,标粗的即为更改的内容,其中[groups]定义了一个组并命名为admin;[/]表示目录权限分配,意味着将整个项目的根目录权限分配给admin组,并指定该组用户能够可读可写;[/bbs]与[/user]分别表示配置bbs和user目录权限,这里将使用单个用户进行配置,并给出相应的权限。(www.chuimin.cn)
将文件保存后,还需要在主配置文件中开启权限配置。打开svnserve.conf文件,找到#authz-db=authz节点,将#注释符与空格删除,这样就完成了权限配置。由于还需要禁止匿名用户浏览版本库,所以还需要将svnserve.conf文件中的#anon-access=read配置项更改为anon-access=none(前面不能留空)。至此,SVN权限配置就完成了。
需要说明的是,SVN只是实现版本控制,但对于团队开发来说,版本控制只是文件管理的一部分。要真正实现团队开发及测试,还需要配置团队调试环境。具体细节可参阅本书附录B。
提示:TrotoiseSVN在保存用户及密码后,没有提供清除用户与密码的功能,但可以通过删除SVN程序数据的方式清空用户数据与密码,该文件位于(以Windows 7为例)C:\Users\Administrator\AppData\Roaming\Subversion\目录,将该目录下的authz文件删除即可。
有关PHP MVC开发实战的文章
SVN是一套版本控制系统,简单地说就是一套自动备份系统。这个比喻虽然不太恰当,但使用SVN完全不用担心数据的丢失,只要从一开始就使用SVN,哪怕项目快结束了,也能找到刚开始时的文件内容。事实上SVN远不止备份那么简单,之所以这样比喻,是为了让没接触过SVN的读者有个直观印象,方便接下来的学习。图1-21 SVN流程图图1-21简单地演示了SVN多人协同开发时的流程。......
2023-11-04
Zend Studio在6.0之前采用独立安装包进行发行。下面分别对经典的Zend Studio 5.5和成熟的Zend Studio 8.0进行讲解,方便读者选择。Zend Studio 8.0是Zend推出的商业套件,开发者或企业必须要购买商业许可才能进行使用。......
2023-11-04
ThinkPHP提供了HTML_CACHE_ON配置参数,用于设置是否开启静态缓存功能。所谓的静态缓存就是文件缓存,HTML_CACHE_RULES关联数组可以灵活地配置静态缓存的各种规则。上述代码中,演示了4种静态缓存模式。缓存有效期和附加规则都是可选参数,这里重点需要理解静态缓存规则。默认情况下静态缓存文件存放在home/Html目录下,通过配置参数HTML_PATH修改静态缓存文件存放目录。需要注意的是,开启静态缓存不仅需要正确配置HTML_CACHE_RULES选项,还必须开启HTML_CACHE_ON选项,两者缺一不可。......
2023-11-04
Memcached最大的特点是数据存放于内存。默认情况下,Memcached将被安装到/usr/local/bin/目录下。安装Memcache扩展Memcache是PHP一个扩展模块,在安装前需要确保当前环境已经具备PHP环境。但是无论是官方文档还是第三方权威资料,都不建议在Windows下部署Memcached生产环境。接下来使用命令终端执行memcached.exe,命令如下。通过上述步骤,Memcached就自动安装完成了,接来下只需要启动即可。......
2023-11-04
PHP 5后的版本借鉴了大量Java思想,得益于早期PHP面向过程编程支持,PHP在实现MVC设计中变得较灵活、易用。但是随着PHP 5.x的到来,各种MVC框架的出现,尤其Zend推出的Zend Framework,彻底地改变了PHP状况,使得PHP也能够实现优雅的Web编程。MVC设计模式将使代码将变得简洁。但是在MVC设计模式中,Index称为动作。当然,MVC只是一种设计模式,在开源的PHP编程世界中,已经拥有众多的MVC编程框架。......
2023-11-04
前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。......
2023-11-04
在应用程序中数据库的操作主要分为4大类:创建数据、更新数据、读取数据及删除数据,简称CURD。主流的MVC框架都会对CURD操作进行封装,以达到易用、灵活的目的。ThinkPHP的CURD操作是以连贯操作为基础的,通常情况下这两者会配合使用。......
2023-11-04
系统共支持7种模式扩展,下面将分别对最常用的几种模式进行介绍。表11-1 CURD操作接口如表11-1所示,参数$data表示传入或返回的数据信息;参数$options表示返回当前操作的模型名称及表前缀。......
2023-11-04
相关推荐