风清云淡
Follow

After following, you can keep track of his dynamic information in a timely manner

Course notes
  • Courses in the relevant section:How to use the configuration helper function

    配置的获取和设置 获取: Config::get() Config::pull() 设置: Config::set() 查询: Config::has() 助手函数:config() 获取,设置,判断 说明: 使用get,pull, set,has 必须引入Config类 use think\facade\Config; //就可以使用静态方式去访问 使用助手函数config() 是不需要引入Config类的

    2018-05-200个赞

  • Courses in the relevant section:PHP classic design patterns

    单例模式, 工厂模式, 注册树模式【对象池,容器类】 单例模式: 该类只有唯一的实例 私有构造方法, 静态的存储本类实例的属性[protected/private], 返回本类实例的方法[public] ,私有__clone() 工厂模式: 给一个类名,就生产一个该类的对象 注册树模式:给一个名字和实例,就将这名字和实例对应起来。形成容器数组['名1'=>实例1,"名2"=>实例2,.....] 理解: 新买一个抽屉的柜子,给一个标签(名字)和物品(对象),则将标签(名字)贴在柜子的其中一个抽屉上,物品(对象)放入该抽屉 要取出物品(对象), 给标签(名字), 找到标签(名字)对应的物品(对象)取出 要销毁物品(对象),给标签(名字),找到后直接撕掉标签(名字)^_^...

    2018-05-201个赞

  • Courses in the relevant section:Trait class code reuse

    Trait代码复用 1. trait使用 trait是一种代码复用机制,复用 method 不能直接实例化 在类中使用: use trait名称; 相当于将trait中的属性或方法直接copy进来,如果有同名方法,则舍掉(不copy该方法)trait中的 2. 类,父类,trait同名方法优先级 类中同名方法 > Triat中同名方法 > 父类中的同名方法 3. 多个trait中的同名方法在类中使用 use trait名1 trait名2,... { trait名1::f1 insteadof trait名2; //trait1名, trait名2的同名方法f1 , 使用 trait名1中的f1() //要使用trait名2的f1() 起别名即可 trait名2::f1 as 别名; }

    2018-05-202个赞

  • Courses in the relevant section:User delete function

    删除只会删除最后一个用户的解决方法: 方式1: <td><a href="" onclick="del({$user.id});return false;">删除</a></td> <!--<td><a href="javascript:;" onclick="del({$user.id})">删除</a></td>--> <script> function del(id){ if(confirm('你确定要删除吗?') == true){ window.location.href = "{:url('user/delete','',false)}/id/"+id; } } </script> 方式2: <td><a href="{:url('user/delete',['id'=>$user.id])}" onclick="return window.confirm('你确定要删除吗?');">删除</a></td> 编辑用户,密码处理: <input type="hidden" name="pwd" value="{$userInfo.password}"> //有修改密码则加密用户密码 if($data['password'] != $data['pwd'] && !empty($data['password'])) { $data['password'] = sha1($data['password']); } else { unset($data['password']); }

    2018-05-274个赞

  • Courses in the relevant section:Load menu based on permissions

    实践前的准备: 1. 先选择 “权限管理”>菜单管理 菜单管理的列表中 点击“权限管理”的“子菜单” 2. 开始添加 菜单管理 Menu index 菜单保存 Menu save 隐藏【选择】 角色管理 ....... 角色添加 ....... 隐藏【选择】 角色保存 ....... 隐藏【选择】 角色删除 ....... 隐藏【选择】 3. 选择 “权限管理”>角色管理 选择 ‘编辑’ 【对应你要登录的用户】 选择相应的权限菜单 系统管理员,可以全部选择 4. 以上面设置权限的用户进行登录。 如“系统管理员”登录,将展示全部菜单

    2018-06-110个赞