Yii 2.0 权威指南两个版本之间存在相当多差异。 因 此从 輱 輮 輱 版升级并不像小版本间的跨越那么简单, 通过本指南你将会了解 两个版本间主要的不同之处。 如果你之前没有用过 轙 轩 轩 輱 輮 輱 ,可以跳过本章,直接从輑 入门篇輐 开始读 起。 请注意,轙 轩 轩 輲 輮 輰 引入了很多本章并没有涉及到的新功能。 强烈建议你 通读整部权威指南来了解所有新特性。 这样有可能会发现一些以前你要自 己开发的功能,而现在已经被包含在核心代码中了。 b \ R e q u e s t 就表明对应的类 文件是 轙 轩 轩 框架文件夹下的 w e b / R e q u e s t . p h p 文件。 (有了 轙 轩 轩 的类自动加载器, 你可以直接使用全部核心类而不需要显式 包含具体文件。) 1 . 2 . 4 组 组 组件 件 件( ( (C o m p o n e n t ) ) )与 与 与对 对 对象 象 象( ( (B a s e > r e n d e r ( ) ,而不是 $ t h i s - > r e n d e r P a r t i a l ( ) 。 r e n d e r ( ) 现在只返回渲染结果,而不是直接显示 它,所以现在你必须显式地把它 卥 卣 卨 卯 出来。像这样: e c h o $ t h i s - > r e n d e r ( ' _ i t e m ' , [ ' i t e m '0 码力 | 537 页 | 4.66 MB | 1 年前3
CmlPHP v2.x 开发手册
使用缓存,或缓存使用不当造成的性能不佳的问题。也杜绝了多人协 同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务 器、虚拟主机、VPS等多种环境,绝大部分开发环境可直接运行,无 需配置伪静态规则(部分低版本server只要修改框架URL配置即可,框 架会自动处理),快速上手开发。线上环境对SEO有要求时再配置伪静 态即可。 初始化一个项目 为了方便开发人 nikic/fast-route //开发模式必须绑定。Debug调试信息 //如果想使用第三方的调试台只要简单封装一个服务。实现 \Cml\Interfaces\Debug接口即可/当然直接修改模板也可以。配置 项 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 Cml::getContai 存时生成的缓存文件 Data 框架会对数据库的表字段结构缓存在此目录下,所以线上环节如 果有修改了主键名,请清空该目录 Logs 系统在开发环境会把警告以下的错误直接显示在控制台,致命错 误/异常直接显示在页面上方便开发人员排查。如果是线上环境会 将警告及以上的信息记录在此目录下的emergency.log中(底层是调 用\Cml\Log::emergency)。按日期分目录存放(如20160801的日志则0 码力 | 245 页 | 720.67 KB | 1 年前3
CmlPHP v2.x 开发手册
存使用不当造成的性能不佳的问题。也杜绝了多人 协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、VPS等多种环境, 绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本server只要修改框架URL配置即可, 框架会自动处理),快速上手开发。线上环境对SEO有要求时再配置伪静态即可。 5 初始化一个项目 为了方便开发人员 nikic/fast-route //开发模式必须绑定。Debug调试信息 //如果想使用第三方的调试台只要简单封装一个服务。实现\Cml\Interfaces\Debug接口即可/当然直接 修改模板也可以。配置项 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模板 Cml::getContaine 缓存时生成的缓存文件 Data 框架会对数据库的表字段结构缓存在此目录下,所以线上环节如果有修改了主键名,请清空该 目录 Logs 系统在开发环境会把警告以下的错误直接显示在控制台,致命错误/异常直接显示在页面上方便 开发人员排查。如果是线上环境会将警告及以上的信息记录在此目录下的emergency.log中(底 层是调用\Cml\Log::emergency)。按日期分目录存放(如20160801的日志则存放在0 码力 | 143 页 | 1.54 MB | 1 年前3
CmlPHP v2.x 开发手册
或缓存使用不当造成的 性能不佳的问题。也杜绝了多人协同开发缓存同步及管理的问题 CmlPHP支持根目录、子目录,单入口、多入口部署、支持独立服务器、虚拟主机、 VPS等多种环境,绝大部分开发环境可直接运行,无需配置伪静态规则(部分低版本 server只要修改框架URL配置即可,框架会自动处理),快速上手开发。线上环境对SEO 有要求时再配置伪静态即可。 初始化一个项目 为了方便开发人员初始化 nikic/fas t-route //开发模式必须绑定。Debug调试信息 //如果想使用第三方的调试台只要简单封装一个服务。实现\Cml\Interfaces\Debug接口即可/当然直接 修改模板也可以。配置项 'debug_page' => CML_CORE_PATH.'/Tpl/debug.tpl', // debug调试信息模 板 Cml::getContain 缓存时生成的缓存文 件 Data 框架会对数据库的表字段结构缓存在此目录下,所以线上环节如果有修改了主键 名,请清空该目录 Logs 系统在开发环境会把警告以下的错误直接显示在控制台,致命错误/异常直接显示 在页面上方便开发人员排查。如果是线上环境会将警告及以上的信息记录在此目录 下的emergency.log中(底层是调用\Cml\Log::emergency)。按日期分目录存放(如0 码力 | 251 页 | 973.37 KB | 1 年前3
Laravel 5.6 中文文档original 属性 资源响应的 original 属性现在被设置为原始模型而不是 JSON 字符串/数组。这样在测试中就可以更好地检查响应的模型。 路由 返回新创建的模型 从路由中直接返回新创建的 Eloquent 模型时,响应状态码由 200 调整为 201,如果应用的任意相应测试显式期望 200 状态码,那么需要将它们修改 为 201。 信任代理 由于信任代码功能使用的底层 models 这个词对不同人而言有不同的含 义,容易造成歧义,有些开发者认为应用的模型指的是业务逻辑,另外一些人则认为模型指的是与关联数据库的交互。 正是因为这个原因,我们默认将 Eloquent 的模型直接放置到 app 目录下,开发者可以自行选择放置的位置。 这是 Laravel 框架作者的想法,不过对于国内开发者,尤其是 PHP 开发者来说,models 目录用于存放与数据库交互的模型类应该没有什么异议, 目录包含了应用入口文件 index.php 和前端资源文件(图片、JavaScript、CSS 等),该目录也是 Apache 或 Nginx 等 Web 服务器所指向 的应用根目录,这样做的好处是隔离了应用核心文件直接暴露于 Web 根目录之下,如果权限系统没做好或服务器配置有漏洞的话,很可能导致应用 敏感文件被黑客窃取,进而对网站安全造成威胁; Resources 目录 resources 目录包含了应用0 码力 | 377 页 | 14.56 MB | 1 年前3
Laravel 6.0 中文文档这个词对不同人而言 有不同的含义,容易造成歧义,有些开发者认为应用的模型指的是业 务逻辑,另外一些人则认为模型指的是与关联数据库的交互。 正是因为这个原因,我们默认将 Eloquent 的模型直接放置到 app 目 录下,开发者可以自行选择放置的位置。 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 44 这是 Laravel (四选一,我们通常选择 VirtualBox,因为只 有它是免费的)以及 Vagrant,所有这些软件包都为常用操作系统提 供了一个便于使用的可视化安装器,通过安装界面引导就可以完成安 装。 注:直接下载安装相应软件的最新版本即可。 要使用 VMware 的话,需要购买 VMware Fusion(Mac) / Workstation(Windows) 以及 VMware Vagrant 插件,尽管不便宜, com 98 最后,建议归建议,Valet 和 Homestead 都是搭建本地 Laravel 开 发环境的好工具,最终选择使用哪一个取决于你个人的喜好或团队的 需求。 安装 注:已安装的直接跳到升级部分。 Valet 要求 MacOS 操作系统并且已安装 Homebrew。安装之前, 还要确保没有其他程序如 Apache 或 Nginx 绑定到本地的 80 端 口。安装步骤如下:0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.2 中文文档Bootstrap 样式的视图用于登录、注册和密码重置。该命令 还会使用相应路由更新路由文件。 注意:该功能特性只能在新应用中使用,不能再应用升级过程中使用。 隐式模型绑定 隐式模型绑定使得在路由或控制器中直接注入相应模型实例更加便捷。假设你有一个路由 定义如下: 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 所有你使用到该方法的地方将其移除。 如果你曾经在 Eloquent 查询构建器上调用过了 getQuery 方法以获取底层查询构建器实 例,现在应该改为调用 toBase 方法。 如果你因为某种原因直接调用了 remove 方法,需要将其改 成 $eloquentBuilder->withoutGlobalScope($scope) 这种方式来调用。 在 Eloquent 查询构建器中新增了 withoutGlobalScope 标识符自动注入模型 实例。然而,这也改变了路由和控制器中类型提示模型实例这一行为。 如果你之前在路由或控制器中类型提示了模型实例,并且希望注入一个空的模型实例,那 么现在应该移除这个类型提示然后在路由或控制器中直接创建一个新的模型实例;否则, Laravel 将会基于路由 URI 的标识符试图从数据库获取一个已存在的模型实例。 IronMQ IronMQ 队列驱动被移动到自己的扩展包中,不再被框架核心支持:0 码力 | 377 页 | 4.56 MB | 1 年前3
Laravel 5.3 中文文档session 变量或者认证后的用户实例。 框架从未打算具有如此明显的特性。在 Laravel 5.3 中,你在控制器构造函数中不再能够直接获取 到 session 变量或认证后的用户实例,因为中间件还未启动。 仍然有替代方案,那就是在控制器构造函数中使用 Closure 来直接定义中间件。请注意,在使用 这个方案的时候,确保你所使用的 Laravel 版本高于 5.3.4: join('table', function($join) { $join->on('foo', 'bar')->where('bar', 'baz'); }); $bindings 属性也被移除,要直接操作 join 绑定可以使用 addBinding 方法: $query->join(DB::raw('('.$subquery->toSql().') table'), function($join) Laravel 学院致力于提供优质 Laravel 中文学习资源 41 的是业务逻辑,另外一些人则认为模型指的是与关联数据库的交互。 正是因为这个原因,我们默认将 Eloquent 的模型直接放置到 app 目录下,从而允许开发者自行选 择放置的位置。 2、根目录 App 目录 app 目录包含了应用的核心代码,此外你为应用编写的代码绝大多数也会放到这里; Bootstrap0 码力 | 691 页 | 9.37 MB | 1 年前3
10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》SQL注入 16 概述 n SQL Injection q 攻击者利用WEB应用程序对用户输入验证上的疏忽, 在输入的数据中包含对某些数据库系统有特殊意义 的符号或命令,让攻击者有机会直接对后台数据库 系统下达指令,进而实现对后台数据库乃至整个应 用系统的入侵。 17 原理 n 正常连线状态 18 公⺴⽹网 ID=A123456789 Passwd=1234 select 用户登录成功后,系统应生成新会话 q 程序应减少使用cookies当作使用者之身份验证 q 对cookie进行加密签名并进行验证 n 使用工具扫描相关漏洞 q Webscarab等 3.8.不安全的对象直接引用 74 概述 n Insecure direct object references q 当开发者向用户暴露一个对网站内部部署对象的引 用时,如一个文件、目录、数据库键值等,若系统 userID=” +user.getID() ;; 76 风险 n 服务器机密信息泄露 防护方法 n 使用非直接的对象引用:这防止了攻击者直接访问其并未授权的 对象,通过一种mapping或其他的方法让攻击者无法直接访问。 n 检查访问:对每一个来自于不信任的源的直接对象引用都必须包 含访问控制检查,从而确信该用户对该对象拥有访问权。 78 3.9.跨站请求伪造 79 跨站请求伪造0 码力 | 114 页 | 3.65 MB | 1 年前3
Laravel 5.1 中文文档本文档由 Laravel 学院(LaravelAcademy.org)提供 5 然后,Laravel 5.0 中使用的 App\Services\Registrar 不再被需要,你可以直接简单拷贝粘 贴其中的 validator 方法和 create 方法到 AuthController 中,这两个方法中的代码不需要 做任何改动。不要忘记确认 Validator 和 User 在 AuthController 片段使用@parent 指令来追加(而非覆盖)内容到布局中 sidebar,@parent 指令在视图渲染时将会被布局中的内容替换。 当然,和原生 PHP 视图一样,Blade 视图可以通过 view 方法直接从路由中返回: 本文档由 Laravel 学院(LaravelAcademy.org)提供 53 Route::get('blade', function () { return 型提示和解析契约。然而,使用契约允许你为类定义明确的依赖,在大多数应用中,使用门 面刚刚好,但是,如果你需要更多更多松耦合,那么契约无疑是合适的,继续看下去! 2、为什么使用契约? 关于契约你可能存有疑问。为什么不直接全部使用接口?难道使用接口不是更复杂?让我们 从这两个因素来提取使用接口的原因:松耦合和简单。 2.1 松耦合 首先,让我们看看一些缓存实现的紧耦合代码:0 码力 | 307 页 | 3.46 MB | 1 年前3
共 11 条
- 1
- 2













