在一个函数中调用另一个函数,需要具备的条件如下:
1、首先被调用的函数必须是已经存在的函数(库函数或者用户自己定义的函数)
2、如果使用库函数,需要再本文件开头用#include命令调用有关函数库时所需要的信息包含到本文件中
3、如果使用用户自己定义的函数,而该函数的位置在调用他的函数的后面,应该在主调用幻术中对被调用的函数作声明
1 |
|
1 | 类型标识符 函数名() |
在一个函数中调用另一个函数,需要具备的条件如下:
1、首先被调用的函数必须是已经存在的函数(库函数或者用户自己定义的函数)
2、如果使用库函数,需要再本文件开头用#include命令调用有关函数库时所需要的信息包含到本文件中
3、如果使用用户自己定义的函数,而该函数的位置在调用他的函数的后面,应该在主调用幻术中对被调用的函数作声明
1 | #include <stdio.h> |
1 | 类型标识符 函数名() |
1 | int a[10]; |
1 | float a[3][4],b[5][10]; |
1 | char c[] = {'I','a','m','h'}; |
1 | #include <stdio.h> |
1 | 函数的值就是从出入设备得到的字符 |
1 | printf(格式控制,输出表列) |
Model、View、Controller
数据模型层,视图层、控制器(业务处理层)
TP、Yii2、CI、Yaf
用一个处理程序文件处理多有的HTTP请求,根据请求参数的模块去完成对应操作
优势:
劣势:
PHP 是一种HTML内嵌的在服务器端执行的脚本语言,但是PHP有很多可以使PHP代码和HTML代码分开的模板引擎,例如Smarty,Twig,Haml
工作原理:
庞大的完善的正则表达式的替换库
php框架有哪些,用过哪些,各自的优缺点是什么?
PHP框架的差异和优缺点
Yaf框架
使用php扩展的形式写的一个php矿建,以C语言为底层编写的,性能上要比PHP代码写的快一个数量级
优点:执行效率高,轻量级、扩展性高
缺点:高版本兼容性查、底层代码可读性差、需要安装扩展、功能单一、开发需要编写大量的插件
Yii2框架
Yii2框架是一款非常优秀的通用web后端框架,结构简单优雅,使用功能丰富,扩展性强,性能高
缺点:
学习成本高,量级重
常见框架的特性
Yii2的路由配置
TP框架
连接和关闭:mysql -u用户名 -p密码 -h主机地址 -P端口号
其他:\G,\c,\q,\s,\h,\d
InnoDB 表引擎
MyISAM表引擎
其他表引擎
Archive、Blackhole、CSV
基础概念:
表锁是日常开发中年常见的问题,因此是面试中最常见的考察点,当多个查询同一时刻进行数据修改时,就会产生并发控制问题
分为共享锁和排他锁
共享的,不堵塞,多个用户可以同时读取一个资源,互不干扰
排他的,一个写锁会阻塞其他的写锁和读锁,这样可以只允许一个人进行写入,防止其他用户进行的操作
表锁,系统性能开销最小,会锁定整张表,MyISAM
行锁,最大程度的支持并发处理,但是也带来了最大的锁开销InnoDB
服务器层不管事务管理,由下层的引擎实现,所以一个事务中,使用多种存储引擎不靠谱
在非事务的表上执行事务操作Mysql不会提醒不会报错
为以后的使用而保存的一条或者多条mysql语句的集合
存储过程就是有业务逻辑和流程的集合
可以在存储过程中创建表,更新数据、删除等等
使用场景::
通过把处理封装在容易使用的单元中,简化复杂的操作
保证数据的一致性
简化对变动的管理
相关概念
Mysql等一些常见的关系型数据库的数据都存储在磁盘中,在高并发场景下,业务应用对mysql产生的增删改查的操作造成巨大的I/O开销和查询压力,这无疑对数据库和服务器都是一种巨大的压力,为了解决此类问题,缓存数据的概念应运而生
数据库缓存极大的解决数据库服务器的压力
提高应用数据的响应速度
常见的缓存形式:内存缓存、文件缓存,为了避免I/O开销,推荐使用内存缓存
缓存数据时为了让客户端很少甚至不访问数据库服务器进行数据的查询,高并发下,能最大程度的降低对数据库服务器的访问压力
用户请求–>数据查询–>连接数据库服务器并查询数据–>将数据缓存起来(HTML,内存,JSON,序列化数据)–>显示给客户端
用户再次请求或者新用户访问–>数据查询–>直接从缓存中获取数据–>显示给客户端
缓存方式的选择
缓存场景的选择
缓存数据的实时性
缓存数据的稳定性