Yii 2.0 权威指南1 . 4 执 执 执行 行 行事 事 事务 务 务( ( (P e r f o r m i n g T r a n s a c t i o n s ) ) ) 当顺序地执行多个相关的语句时, 你或许需要将它们包在一个事务中来保 证数据库的完整性和一致性。 如果这些语句中的任何一个失败了, 数据库 将回滚到这些语句执行前的状态。 下面的代码展示了一个使用事务的典型方法: Y i i : : $ a 謩 方法, 一个新事务开始了。 事务被表示为 一个存储在 $ t r a n s a c t i o n 变量中的 譹 譩 譩 譜 譤 譢 譜 譔 譲 譡 譮 譳 譡 譣 譴 譩 譯 譮 对象。 然后,被 执行的语句都被包含在一个 t r y . . . c a t c h . . . 块中。 如果所有的语句都被成 功地执行了, 譣 譯 譭 譭 譩 譴 謨 謩 将被调用来提交这个事务。 否则, 如果异常被触 方法将被调用, 来回滚事务中失败语句之前所 有语句所造成的改变。 t h r o w $ e 将重新抛出该异常, 就好像我们没有捕获 它一样, 因此正常的错误处理程序将处理它。 指 指 指定 定 定隔 隔 隔离 离 离级 级 级别 别 别( ( (卓 印 卥 卣 卩 卦 卹 卩 卮 卧 卉 即 卯 卬 卡 却 卩 卯 卮 卌 卥 卶 卥 卬 即 ) ) ) 轙 轩 轩 也支持为你的事务设置隔离级别1 5 。默认情况下,当我们开启一个新事0 码力 | 537 页 | 4.66 MB | 1 年前3
Laravel 5.6 中文文档目录包含了应用入口文件 index.php 和前端资源文件(图片、JavaScript、CSS 等),该目录也是 Apache 或 Nginx 等 Web 服务器所指向 的应用根目录,这样做的好处是隔离了应用核心文件直接暴露于 Web 根目录之下,如果权限系统没做好或服务器配置有漏洞的话,很可能导致应用 敏感文件被黑客窃取,进而对网站安全造成威胁; Resources 目录 resources ' => now()]); $publisher->publish($this); } } 因为可以模拟注入的发布服务,所以注入发布实现到该方法后允许我们轻松在隔离状态下测试该方法。不过,这要求我们每次调用 publish 方法都 要传递一个发布服务实例,使用实时门面,我们可以在维持这种易于测试的前提下不必显式传递 Publisher 实例。要生成一个实时门面,在导入类 register() { // } } 数据库事务 想要在一个数据库事务中运行一连串操作,可以使用 DB 门面的 transaction 方法,使用 transaction 方法时不需要手动回滚或提交:如果事务闭 包中抛出异常,事务将会自动回滚;如果闭包执行成功,事务将会自动提交: DB::transaction(function () {0 码力 | 377 页 | 14.56 MB | 1 年前3
Laravel 6.0 中文文档目录包含了应用入口文件 index.php 和前端资源文件(图 片、JavaScript、CSS 等),该目录也是 Apache 或 Nginx 等 Web 服务器所指向的应用根目录,这样做的好处是隔离了应用核心文件直 接暴露于 Web 根目录之下,如果权限系统没做好或服务器配置有漏 洞的话,很可能导致应用敏感文件被黑客窃取,进而对网站安全造成 威胁; 资源目录 本文档由学院君提供 学院君致力于提供优质 本文档由学院君提供 学院君致力于提供优质 Laravel 中文学习资源:https://xueyuanjun.com 146 } } 因为可以模拟注入的发布服务,所以注入发布实现到该方法后允许我 们轻松在隔离状态下测试该方法。不过,这要求我们每次调 用 publish 方法都要传递一个发布服务实例,使用实时门面,我们 可以在维持这种易于测试的前提下不必显式传递 Publisher 实例。 要生成一个实时门面,在导入类前面加上 方法指定想要使用的 guard 实例, 这种机制允许你在同一个应用中对不同的认证模型或用户表实现完 全独立的用户认证。 该功能可用于为不同表的不同类型用户(同一个表不同类型用户理论 上也可以)实现隔离式登录提供了方便,我们只要为每张表配置一个 独立的 guard 就可以了。比如我们除了 users 表之外还有一 张 admins 表用于存放后台管理员,要实现管理员的单独登录,就可 以这么配置0 码力 | 1442 页 | 14.66 MB | 1 年前3
Laravel 5.1 中文文档目录包含了视图文件及原生资源文件(LESS、SASS、CoffeeScript),以及本 地化文件; storage 目录包含了编译过的 Blade 模板、基于文件的 session、文件缓存,以及其它由框 架生成的文件,该文件夹被隔离成 app、framework 和 logs 目录,app 目录用于存放应用要 本文档由 Laravel 学院(LaravelAcademy.org)提供 59 使用的文件,framework public function register() { // } } 3、数据库事务 想要在一个数据库事务中运行一连串操作,可以使用 DB 门面的 transaction 方法,如果事 务闭包中抛出异常,事务将会自动回滚。如果闭包执行成功,事务将会自动提交。使用 transaction 方法时不需要担心手动回滚或提交: DB::transaction(function 手动使用事务 如果你想要手动开始事务从而对回滚和提交有一个完整的控制,可以使用 DB 门面的 beginTransaction 方法: DB::beginTransaction(); 你可以通过 rollBack 方法回滚事务: DB::rollBack(); 最后,你可以通过 commit 方法提交事务: DB::commit(); 注意:使用 DB 门面的事务方法还可以用于控制查询构建器和0 码力 | 307 页 | 3.46 MB | 1 年前3
CmlPHP v2.x 开发手册
update) 1.6.6.9 10. 简 单 的 单 字 段 自 减 ( 多 字 段 参 考 update) 1.6.6.10 11. 聚合操作 1.6.6.11 12. 事务 1.6.6.12 13. 调用存储过程 1.6.6.13 14. 原生/子查询/union 1.6.6.14 15. 快捷方法 1.6.6.15 1. 通 'area', 'nickname'], [ ['role1', 'area1', 'nick1'], ['role11', 'area11', 'nick11'] ]) 插入多条会自动开启事务,也就是要么全部成功要么全部失败,失败的时候返回 false,成功的时候返回insertid的数组 获取上一次数据添加的id 调用 set 方法添加数据时会自动返回 lastInsertId 。如果还要单独获取可如下操作: ->sum('id'); avg $this->db()->table('user')->avg('id'); 事务的使用 开启事务 $this->db()->startTransAction(); 提交事务 $this->db()->commit(); 回滚事务 $this->db()->rollBack(); v2.7.7起新增 transaction 方法 我们可以这么操作,不用单独调用0 码力 | 251 页 | 973.37 KB | 1 年前3
CmlPHP v2.x 开发手册
分页查询 数据添加 获取上一次插入的id 数据更新 获取上一次更新影响的行数 数据删除 简单的单字段自增(多字段参考update) 简单的单字段自减(多字段参考update) 聚合操作 事务 调用存储过程 原生/子查询/union 快捷方法 通过某字段值获取数据 添加数据 通过某字段值更新数据 通过字段值删除数据 获取总数 获取列表 1.6.6.15.7 1.6.6 'nickname'], [ ['role1', 'area1', 'nick1'], ['role11', 'area11', 'nick11'] ]) 插入多条会自动开启事务,也就是要么全部成功要么全部失败, 失败的时候返回false,成功的时候返回insertid的数组 获取上一次数据添加的id 调用 set 方法添加数据时会自动返回 lastInsertId ->sum('id'); avg $this->db()->table('user')->avg('id'); 事务的使用 开启事务 $this->db()->startTransAction(); 提交事务 $this->db()->commit(); 回滚事务 $this->db()->rollBack(); v2.7.7起新增 transaction 方法 我们可以这么操作,不用单独调用0 码力 | 245 页 | 720.67 KB | 1 年前3
CmlPHP v2.x 开发手册
17.1 1.6.17.2 1.6.18 1.6.19 1.6.20 1.6.21 简单的单字段自增(多字段参考update) 简单的单字段自减(多字段参考update) 聚合操作 事务 调用存储过程 原生/子查询/union 快捷方法 通过某字段值获取数据 添加数据 通过某字段值更新数据 通过字段值删除数据 获取总数 获取列表 注意事项 同时查询多个库 模型-MongoDB 'nickname'], [ ['role1', 'area1', 'nick1'], ['role11', 'area11', 'nick11'] ]) 插入多条会自动开启事务,也就是要么全部成功要么全部失败,失败的时候返回false,成功的时 候返回insertid的数组 55 获取上一次数据添加的id 调用 set 方法添加数据时会自动返回 lastInsertId m('id'); avg $this->db()->table('user')->avg('id'); 62 事务的使用 开启事务 $this->db()->startTransAction(); 提交事务 $this->db()->commit(); 回滚事务 $this->db()->rollBack(); v2.7.7起新增 transaction 方法 我们可以这么操作,不用单独调用0 码力 | 143 页 | 1.54 MB | 1 年前3
Laravel 5.2 中文文档学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 87 3、数据库事务 想要在一个数据库事务中运行一连串操作,可以使用 DB 门面的 transaction 方法,如果事 务闭包中抛出异常,事务将会自动回滚。如果闭包执行成功,事务将会自动提交。使用 transaction 方法时不需要担心手动回滚或提交: DB::transaction(function 手动使用事务 如果你想要手动开始事务从而对回滚和提交有一个完整的控制,可以使用 DB 门面的 beginTransaction 方法: DB::beginTransaction(); 你可以通过 rollBack 方法回滚事务: DB::rollBack(); 最后,你可以通过 commit 方法提交事务: DB::commit(); 注意:使用 DB 门面的事务方法还可以用于控制查询构建器和 门面的事务方法还可以用于控制查询构建器和 Eloquent ORM 的事务。 4、使用多个数据库连接 使用多个数据库连接的时候,可以使用 DB 门面的 connection 方法访问每个连接。传递给 connection 方法的连接名对应配置文件 config/database.php 中相应的连接: $users = DB::connection('foo')->select(...); 你还可以通过连接实例上的0 码力 | 377 页 | 4.56 MB | 1 年前3
Laravel 5.3 中文文档org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 414 3、数据库事务 想要在一个数据库事务中运行一连串操作,可以使用 DB 门面的 transaction 方法,如果事务闭 包中抛出异常,事务将会自动回滚。如果闭包执行成功,事务将会自动提交。使用 transaction 方法时不需要担心手动回滚或提交: DB::transaction(function 手动使用事务 如果你想要手动开始事务从而对回滚和提交有一个完整的控制,可以使用 DB 门面的 beginTransaction 方法: DB::beginTransaction(); 你可以通过 rollBack 方法回滚事务: DB::rollBack(); 最后,你可以通过 commit 方法提交事务: DB::commit(); 注意:使用 DB 门面的事务方法还可以用于控制查询构建器和 门面的事务方法还可以用于控制查询构建器和 Eloquent ORM 的事务。 10.2 查询构建器 1、简介 数据库查询构建器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执 本文档由 Laravel 学院(LaravelAcademy.org)提供 Laravel 学院致力于提供优质 Laravel 中文学习资源 415 行应用中大部分数据库操作,并且能够在支持的所有数据库系统上工作。0 码力 | 691 页 | 9.37 MB | 1 年前3
10 WEB攻击与防护技术 徐震 杨亮 《PHP语⾔程序设计》攻击者查看陷阱网站,或点击恶意邮件链接 目标网站看到被 害者发来的合法 请求,执行被请 求的操作由浏览器装载 – 向 目标网站发送GET请求 (包括信任凭证) 应用代码 账号 财务 管理 事务 通信 特权 电子商务 业务程序 隐藏的
标记 包 括针对目标站点的攻击 有 CSRF漏洞的应用 风险 n 执行网站会话(转账、登出) n 访问敏感数据(读取、篡改、添加、删除企业、个人敏感数据) 受害者输入信用卡号 2 业务网关不可用,因此错 误处理程序记录处理细节 4 恶意内部人员窃取大 量的信用卡号 日志文件 3 IT管理人员访问含有敏感 信息的日志文件 应用代码 账号 财务 管理 事务 通信 特权 电子商务 业务程序 风险 n 这些漏洞可能会导致用户敏感数据外泄 n 攻击者通过这些秘密的窃取从而进行进一步的攻击 n 破坏系统的一致性 88 防护方法 n
0 码力 | 114 页 | 3.65 MB | 1 年前3
共 10 条
- 1













