分类目录归档:php

Windows下安装laravel

laravel是一款很好的php开发框架,现在官网的最新版为5.6,因为它依赖于composer,所以在使用laravel之前,要确保composer已经安装。要不然是没办法继续下一步的。 其实官方也提供了安装辅助文档,地址在这里。 https://laravel.com/docs/5.6 在辅助文档里看到,它对服务器端环境的要求是这样的: PHP >= 7.1.3 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension XML PHP Extension Ctype PHP Extension JSON PHP Extension 为了省事,又因为只是测试使用,所以去下了个xampp。安装完成后,继续去安装composer(因为laravel依赖于它),安装composer需要php环境,如果已经安装,它会自动识别,所以一路下一步就可以。安装完后,cmd下输入composer,如果看到这个提示,说明安装成功了 继续安装laravel install

发表在 php, Uncategorized | 标签为 , , , , | 留下评论

tpphpcms数据库设计一

在使用tp进行cms开发之前, 首先要设计数据库的表结构,表结构设计完成后, 进行tp框架的搭建,项目的命名,控制器的命名 搭建完成后逐步开始完成控制器类,模型类,模版展示,然后是整合,测试和后期维护。 在进行设计之前, 要考虑到项目的整体,都有哪些功能, 哪些模块, 单元、分类、文章、用户、权限、都有哪些字段,最好设计的时候, 画出所属关系的关联图, 这样进行设计的时候, 思路会更加清晰。

发表在 php | 标签为 , , , | 留下评论

cms开发概述

由于在迁移数据的过程中失误删掉了cms的数据库,所以表结构和内容需要重新搭建和整合,想着整合的时候顺便重新复习一下代码,故有此系列文章。

发表在 php | 标签为 , , | 留下评论

Thinkphp Rbac应用篇二

最近因为很多事情都没有做完一直没好意思更新,今天趁着天亮前的空档索性更新一下好了,内容很基础,就是RBAC的实际应用,如果不熟悉的可以看一下上篇。Rbac不完全深入详解 我们在前期的时候知道了rbac的认证流程,其实下面要写代码的话也是依照这个认证流程来的,下面继续来看,翻看Controller.class代码的时候发现这么一行

发表在 php | 标签为 , , , , | 2条评论

Thinkphp Rbac不完全深入详解一

说到thinkphp rbac就得先说一下rbac, 那么什么是rbac?  rbac即(role based access control)就是基于角色的访问控制的意思。那么什么是基于角色的访问控制?还是跟上面一样,要想知道什么是基于角色的访问控制首先就得来理解什么是角色,那么,什么是角色? 角色,它是一种代称,可以代指某一种或者多种可视和非可视规则和不规则物,简单举例来说,我在家是儿子,而这个儿子就可以称为是一种角色,因为此时角色属于儿子,所以我便可以行使一些儿子可以拥有的权限,假如这个时候我8岁的话,便可以让长辈代替我穿衣,或者喂我吃饭。而这个儿子只是我拥有角色之一,我可以同时拥有多种角色,而每一种角色会拥有若干权限,我可以根据不同的角色限制不同的用户访问,而这个限制的行为就叫做基于角色的访问控制。

发表在 php | 标签为 , , , , | 2条评论

Thinkphp Rbac 一

rbac指的是基于角色的访问控制,就是通过权限表与用户组进行关联以达到权限认证的目的,thinkphp rbac是它对rbac的一个封装,可以不需要写过多的代码完成这个功能。 Thinkphp Rbac的认证原理是这样的: 1.判断当前模块的当前操作是否需要认证,如果需要认证未登录就跳转到认证网关获取决策访问列表,如果不需要认证未登录就检测是否有访问权限。 我们可以从Tp的源码中观察到,它是通过saveAccessList获取用户的权限列表,并保存到session中。  //用于检测用户权限的方法,并保存到Session中     static function saveAccessList($authId=null) {         if(null===$authId)   $authId = $_SESSION[C(‘USER_AUTH_KEY’)];         // 如果使用普通权限模式,保存当前用户的访问权限列表         // 对管理员开发所有权限         if(C(‘USER_AUTH_TYPE’) !=2 … 继续阅读

发表在 php | 标签为 , , , | 留下评论

菜单项添加流程

添加菜单项前,要知道上级菜单项的id和path,所以在添加的form表单里,就要给一个hidden用来获取上级菜单的id, 点提交后,首先实例化模型类,实例化模型类过程中就会把通过POST获取到的pid里的id带入getById查询出对应的信息后再按照格式返回,这个时候就自动得到了上级的path,通过表单创建数据-添加。

发表在 php, Uncategorized | 标签为 , , | 留下评论

菜单的无限分类2分层原理

通过查询和order排序后, 再把数据分配到模板中,这个时候再回到模板页查看是不会有层级感的, 因为做的是菜单-子菜单这样的结构,所以为了区分,就要重新写一个功能, 因为子菜单的path是主菜单的path+id, 比如count(array(0,1))-1 说明这个就为主菜单下的一级子菜单项, 如果想要排序, 可以乘以一个偶数, (奇数没法取确定值),比如我是一级菜单,就为1*20=20,二级就为2*20-40,一种类型存一个索引。

发表在 php | 标签为 , , , , | 留下评论

菜单的无限级分类

菜单项属于菜单,菜单被模块调用,菜单项中又可以分为子菜单项, 这样一直无限级分, 比如 1 首页 0 0 2 新闻 0 0 3 国内新闻 2 0-2 4 国际新闻 2 0-2 5 民生 3 0-2-3 6 城市周边 3 0-2-3-5 7 国际要闻 0-2-4 首页和新闻都是属于一级分类, 所以所属id和path都为0, 国内新闻是新闻的子菜单项, 所以所属id就为2, path就为0-2, 民生是属于国内新闻的, 所以id就为3, path就为0-2-3, 从这里就可以知道了, 子项的path, … 继续阅读

发表在 php | 标签为 , , , | 留下评论

thinkphp中的关联模型

thinkphp中的关联模型其实就是thinkphp自己实现的数据库关联查询功能,主要是为了方便解决CURD多关联业务操作的, 它和视图模型类似,但不完全一样, 视图模型是通过操作映射字段查询生成虚拟的表结构,关联模型里的结构真实存在。通常说的关联关系有以下几种。

发表在 php | 标签为 , , , , | 留下评论