系统中数据经常会进行新增或者更新,正常情况下如实保存就行,特殊情况下则需要对传进来的参数进行一些特殊的处理,比如说去掉前后空格或者去掉换行或者中间的若干个空格,来使数据更加严谨和准确,排除掉烂数据。...(还有一大部分原因就是测试的角度太刁钻) 所以经常会对每个参数进行单独处理,所以封装一个处理的工具类,简化数据处理过程。...Description: 处理参数内前后空格 * @date 2021/11/27 10:00 */ public class TrimStringUtil { /** * 替换Map中的...stringTrimDate(hashMap, typeReference, isInclude, Arrays.asList(keys)); } /** * 替换Map中的...value值并转换成 T ,根据isInclude判断需要处理的字段值 * Map map = new HashMap(); * <
Symfony HTTP Foundation 组件 关于这两个类的封装,我们可以基于 Symfony 提供的 HTTP Foundation 组件来实现,Symfony 本身是一个著名的 PHP MVC...框架,它提供了丰富的 PHP 组件集,可以独立于 Symfony 框架之外使用,你可以在这里看到 Symfony 提供的全部组件集:Symfony Components,这是 Symfony 作为框架之外对...基于 Symfony 基类封装请求响应类 注意到 app/http 这个子目录,我们将应用需要用到的 Request、Response、Session 类都放到这个目录下: ?...,也调整为了调用 request->get() 方法,然后传入参数名作为键,该方法可以获取所有请求参数,包括 GET 请求和 POST 请求的(换言之,就是查询字符串和请求实体中的参数)。...最后,在兜底逻辑中,我们基于 Response 对象设置响应状态码和响应头,对于 Response 类的构造函数,第一个参数是响应实体(默认是空字符串,这里是重定向响应,故而留空),第二个参数是响应状态码
关系模型中有三类完整性约束,分别是:实体完整性,参照完整性,用户定义完整性 ---- 实体完整性 定义:实体完整性是用于保证关系数据库中每个元组都是可区分的,唯一的。...一个基本表实际上是对应了现实生活中的一个实体集的,比如学生关系就对应了学生的集合,因此我们所谓的表,其实就相当于现实生活中的某一种实体的集合。...而现实生活中的实体都是可以唯一区分的,他们本身就都具有了某种唯一性标识,比如学生的学号,人的身份证等等。...所以既然我们的表是相对于实体集的,那么表中必然需要一个主键来作为这个实体在被抽象后的唯一标识 而主键不能为空就更好理解了,主键要是为空了那还拿什么来唯一标识这个实体呢?...而参照完整性,就是指如果属性(或属性组)F是关系R的外码,且对应了关系S的主码K(R和S可以是同一个关系),那么对于R中的每个元组中的F上的值,必须满足: (1) 要么F取空值 (2) 要么等于S中某个元组的主码的值
:1)如果对于实体集E1中的每一个实体,实体集E2中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集E1与实体集E2具有一对一联系,记为1:1 一对多联系(1:n)如果对于实体集E1中的每一个实体...,实体集E2中至多有n个实体(n≥0)与之联系;反之,对于实体集E2中的每一个实体,实体集E1中至多有一个实体与之联系,则称实体集E1与实体集E2具有一对多联系,记为1:n。...具有多对多联系,记为m:n 机器世界是信息世界中信息的数据化,就是将信息用字符和数值等数据表示,便于存储在计算机中,并由计算机进行识别和处理 文件(file):同一类记录的集合称为文件,文件是用来描述实体集的...一对一联系(1:1)如果对于实体集E1中的每一个实体,实体集E2中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集E1与实体集E2具有一对一联系,记为1:1 一对多联系(1:n)如果对于实体集...E1中的每一个实体,实体集E2中至多有n个实体(n≥0)与之联系;反之,对于实体集E2中的每一个实体,实体集E1中至多有一个实体与之联系,则称实体集E1与实体集E2具有一对多联系,记为1:n。
关系的完整性 完整性约束的分类 关系模型中有三类完整性约束: 实体完整性、参照完整性和用户定义的完整性。...一个基本表通常对应现实世界的一个实体集或一个多对多联系。 (2)现实世界中的实体和实体间的联系都是可区分的即它们具有某种唯一性标识。...相应地,关系模型中以主码作为唯一性标识 (3)主码中的属性即主属性不能取空值。空值就是"不知道”或“无意义"的值。...结合实例,按照参照完整性规则“学号”和“课程号”属性也可以取两类值:空值或目标关系中已经存在的值。...(1)用户定义完整性规则是针对某一具体关系数据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求。
它不是PHP官方标准,而是从如Zend、Symfony2等知名PHP项目中提炼出来的一系列标准,目前有越来有多的社区项目加入成员并遵循该标准。...,右花括号必须放在该结构控制代码主体的下一行 控制结构的左括号之后不可有空格,右括号之前也不可有空格 PSR-3(Logger Interface) PSR-3是对应用日志类的通过接口的定义(原文:官网...用一个本规范中未定义且不为具 体实现所知的日志等级来调用该方法必须抛出一个Psr\Log\InvalidArgumentException。...> 完全限定类名必须有一个顶级命名空间(Vendor Name) 完全限定类名可以有多个子命名空间 完全限定类名应该有一个终止类名 下划线在完全限定类名中是没有特殊含义的 字母在完全限定类名中可以是任何大小写的组合...文件名必须和终止类名大小写匹配 自动载入器的实现不可抛出任何异常,不可引发任何等级的错误;也不应返回值 注:具体规范内容参考了其他中文翻译版本整理。
个人网站: 洛秋小站 深入解析PHP框架:Symfony框架详解与应用Symfony是一个广受欢迎的PHP框架,因其灵活性、高效性和丰富的功能集而受到开发者的青睐。...在这篇博客中,我们将深入探讨Symfony框架的核心概念、主要功能、开发流程以及测试接口的详细解释,帮助开发者更好地理解和应用Symfony框架。一、什么是Symfony?...控制器控制器是Symfony应用的核心部分,负责处理用户请求并返回响应。控制器通常是一个类,其方法被称为动作(Action)。...服务容器服务容器是Symfony的核心组件之一,用于管理应用中的各种服务和依赖注入。服务容器通过配置文件定义并加载服务。...事件调度器事件调度器是Symfony的另一个重要组件,用于在应用中处理事件。开发者可以定义事件监听器和订阅者来响应特定的事件。
> 标签中 编码 所有的php文件都必须使用UTF-8字符集编码,且不能有字节顺序标记 目的 一个php文件可以定义符号(类、性状、函数和常量等),或者执行有副作用的操作(例:生成结果或处理数据),...关键字必须和类名写在同一行 方法 方法定义体的括号和类定义体的括号位置一样,方法的起始圆括号之后没有空格,结束圆括号之前也没有空格,方法的每个参数(除最后一个)后面有一个逗号和空格 可见性 类中的每个属性和方法都要声明可见性...,如果验证失败返回值是false 推荐验证功能的组件 aura/filter respect/validation symfony/validator ==建议:输入数据既要验证也要过滤,以此确保输入数据时安全的...使用password_verify()函数 在登录之前一定要检查用户记录中现有的密码哈希值是否过期,如果过期了需要重新计算密码的hash值 password_needs_rehash() 函数检查用户记录中现有的密码的哈希值是否需要更新...和DateTimeZone类 设置默认时区 Date Time 类 DateInterval类 DateTimeZone类 DatePeriod类 时间迭代器 nesbot/carbon组件 处理日期和时间值
设置默认排序规则和字符集 Symfony建议将数据库的charset和collation设置为utf8。...此文件包含应用程序的重要信息,如数据库连接设置。您可以按ENTER以接受所有这些的默认值,但数据库名称,用户名和密码除外。对于那些,请使用您在第二步中创建的值。...根据从应用程序实体获得的元数据信息,这将在配置的数据库中创建所有应用程序表。.../web/js/app.js 第六步 - 设置Web服务器 剩下要做的唯一事情就是配置Web服务器。...sudo nano /etc/nginx/sites-available/default 将以下内容粘贴到文件中。不要忘记替换server_name值以反映您的服务器域名或IP地址。
一、什么是数据完整性 数据完整性是指存储在数据库中的数据应该保持一致性和可靠性。关系模型允许定义四类数据约束,分别是:实体完整性、参照完整性、用户定义完整性约束以及域完整性约束。...实体完整性 实体是现实世界中的某个对象,在RDBMS中一行数据代表一个实体。实体完整性就是保证每个实体都能被区别。...参照完整性 主要是表与表之间的关系,可以通过外键foregin key来实现。要求关系中不允许引用不存在实体。...域完整性约束 域完整性主要是对列的输入有要求,通过限制列的数据类型、格式或值的范围来实现。是针对某一具体关系数据库的约束条件,它保证表中的某些列不能输入无效值。...例如在学生表中,学号字段定义长度为9位,当插入数据的学号不是9位时就插不进去了。约束方法包括:限制数据类型、检查约束、默认值和非空约束。
Symfony 中的「依赖注入容器」定义的类名为「sfServiceContainer」。这是一个非常轻量级的类,实现了 [上一篇]() 文章中讲解到的基本功能。...Symfony 服务容器可以到官方 Svn 版本库中获得: http://svn.symfony-project.com/components/dependency_injection/trunk/。...注意, Symfony 组件依旧保持更新,这也意味着它的实现可能与本文有所出入。(译注: @todo) 在 Symfony 中,任何服务的实例都有容器管理。...每个服务同时定义唯一的标识符,标识符命名规则为去除前后缀的方法名并且采用「下划线命名法」命名。...但是我们花这个时间来讲解 spServiceContainer 类的用法的理由是,它是 Symfony 依赖注入容器实现的基石。
(6)高维数据:为较全面的描述实体,原始数据通常都使用了较多属性。比如,在常住人口数据库中,描述公民的基本信息就有128个属性。 (7)模式不统一:即将集成为单一数据集的多个数据源的模式不同。...(2)统一属性:确保多个数据源中对同一实体特征的描述是统一的,包括属性的长度、类型,还有属性的值域。...(2)忽略记录:即将有空值的记录删除。 (3)忽略属性:删除具有空值的列,即不将其作为数据仓库或数据挖掘对象集的属性。...姓名、性别 (3)关键字(Key):能唯一地标识实体集中每个实体的属性集合称为关键字或者码。。 (4)联系:实体之间的联系(Relation),有3种类型。...(4)联系的类型:(1:1),或(1:n),或(m:m) 例:公民实体集与旅馆实体集及其联系的E-R图:
: 模式:一个,逻辑结构 外模式:多个,用户模式 内模式:一个,物理结构 Q:什么是主键 A:唯一标识表中每行的这个列 Q:视图和表的区别是什么?...A:索引是对数据库表中一或多个列的值进行排序的结构,可以加快检索表中数据 优点:大大加快数据的检索速度、唯一索引可以确保每一行数据的唯一性 缺点:索引需要占物理空间、创建索引和维护索引需要时间 Q:索引类型...A: 普通索引:最基本的索引,它没有任何限制 唯一索引:索引列的值必须唯一 主键索引:特殊的唯一性索引 全文索引:对于大规模数据集更快 Q:数据库三范式 A: 第一范式 (1NF):属性不可分,即数据库表的每一列都是不可分割的基本数据项...用户定义完整性:针对某一具体应用必须满足的语义要求 Q:什么是触发器?...A:触发器是用户定义在关系表上的一类由事件驱动的特殊过程 Q: 数据库有哪些锁,各自的作用?
基本术语: 关系模型:用二维表格表示实体集,用关键码表示实体之间联系的数据模型称为关键模型。 在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。...记录称为元组,元组的集合称为关系或实例。一般用大写字母A、B、C...表示单个属性,用大写字母...X、Y、Z表示属性集,用小写字母表示属性值,元组为行(Row), 属性为列(Column)。...超键:在关系中能唯一标识元组的属性或属性集称为关系模式的超键; 候选键:不含多余属性的超键称为候选键; 主键:用户选作元组标识的候选键称为主键。...在关系模型中,对关系做了下列规范性限制: 不可分解:关系中每个属性值都是不可分解的; 不重复:关系中不允许出现重复元组; 无行序:由于关系是一个集合,因此不考虑元组间的顺序; 无列序:元组中的属性理论上也是无序的...三类完整性原则 实体完整性原则: 这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不到唯一标识元组的作用。
\Http\Response (Symfony\Component\HttpFoundation\Response的子类) Laravel中对普通的非JSON响应的定义 通过 prepareResponse...中的逻辑可以看到,无论路由执行结果返回的是什么值最终都会被Laravel转换为成一个Response对象,而这些对象都是Symfony\Component\HttpFoundation\Response...类或者其子类的对象。...设置Response headers 生成Response对象后就要执行对象的 prepare方法了,该方法定义在 Symfony\Component\HttpFoundation\Resposne类中...,把之前设置好的那些headers设置到HTTP响应的首部字段里,Content会echo后被设置到HTTP响应的主体实体中。
[toc] 关系的码 候选码 候选码是能够唯一标识关系中某一个元组的一个属性或属性集,也叫候选键 如: 学生关系中,学号可以唯一标识学生,班级+姓名也可以唯一标识一个学生,学号和(班级,姓名)都是候选码...) 非主属性:不包含在任何候选码中的属性 外码 关系R1,R2,其中属性集X是R1的非主码属性,但X是R2的主码,则称X是R1的外码(也叫外键、外部关系键),R1为参照关系,R2为被参照关系 外码的取值是由被参照的关系的主码的域决定的...,分别为 学生(学号,姓名,性别,专业,年龄) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩) 黄色标记的是主码,可以看见的是,选课关系中主码由学号和课程号两个属性组成 而单个学号或者课程号是无法做到唯一标识的...因此学号或课程号不能单独作为主码 而学号和课程号分别是学生和课程的主码,则选课关系中,学号和课程号都是外码,并且学号和课程号是选课关系中的主属性 关系的完整性 为了维护关系数据库中数据与现实的一致性...有如下三类 实体完整性:主码的值不能为空或部分为空 参照完整性:外码来自被参照关系的主码,且可以为空,但作为被参考的关系的主码不能为空(外码可以为空时,外码通常是非主属性) 用户自定义完整性:针对某一具体关系数据的约束条件
A string in YAML 'A singled-quoted string in YAML' "A double-quoted string in YAML" 使用引号包含的样式在字符串内容的开始或者结束位置含有空格的情况下是非常有用的...在字符串中包含特殊字符或者保留字符的情况下,需要使用引号包含。 在使用单引号'的情况下,内容中任何单引号必须使用两个单引号转义。...注意,上述例子中,没一行都有两个空格,它们并不会在最终的结果中显示。...Boolean 在YAML中,使用true和false表示boolean值。 日期 YAML使用ISO-8601标准表示日期格式。...在:和值之间的空格是任意的 PHP: 5.2 MySQL: 5.1 Apache: 2.2.20 YAML使用空格缩进描述嵌套的集合 "symfony 1.0": PHP: 5.0
通知服务器客户端使用的编码字符集: mysql>SET character_set_client=gbk; 显示时乱码: mysql>SET character_set_results=gbk; ②...DELETE FROM user; 使用TRUNCATE删除表中记录(摧毁整张表,然后重建表结构): mysql>TRUNCATE user; 三、数据完整性 数据完整性分为四类:实体完整性(Entity...①实体完整性: 规定表中的一行在表中是唯一的实体,一般是通过定义主键的形式来实现的。实体完整性要求每一个表中的主键字段都不能为空或者重复的值。实体完整性指表中行的完整性。...要求表中的所有行都有唯一的标识符,称为主关键字。主关键字是否可以修改,或整个列是否可以被删除,取决于主关键字与其他表之间要求的完整性。...域完整性是针对某一具体关系数据库的约束条件。它保证表中某些列不能输入无效的值。
---- 码 ---- 候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(如学号,身份证号)。...原因: 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。 现实世界中的实体是可区分的,即它们具有某种唯一性标识。 关系模型中以主码作为唯一性标识。...主码中的属性即主属性不能取空值。主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。...的每个属性值均为空值) 或等于 S 中某个元组的主码值 ---- 2.3.3 用户定义的完整性 ---- 用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求...R 中的 Y 与 S 中的 Y 可以有不同的属性名,但必须出自相同的域集。
领取专属 10元无门槛券
手把手带您无忧上云