PHP

php是弱类型语言,所以 1==‘1’  而 1==='1' 则不成立

empty判断变量的值是1还是0     isset判断变量是否赋值,赋值了为1(0也是赋了值),没赋值(或者赋值为null,或者只声明了)为0,

is_null判断变量值是否为null,null为1,不是null为0  (变量赋值为null或只声明的情况下,变量值才为null,其它情况都不是null,0也不是null)

php数组删除值,array_unset();  不会删除键。

删除数组空值

$array1 = array('  ',1,'',2,3);

print_r(array_filter($array1, "del"));

function del($var)

{

       return(trim($var));

}

array_values(rsort(array_unique(array_filter($arr))))

如何获取客户端的IP地址?

$_SERVER[‘REMOTE_ADDR’]
查看数据类型 gettype()输出方式:echo  var_dump(本身包含数据类型)

$db = new mysqli("localhost","root","","myblog");
$charset=mysqli_character_set_name($db);  //返回数据库默认字符集的编码utf8
echo "默认字符集为: " . $charset;

fetch_array和fetch_row有点区别:fetch_array返回的数组下标不仅有数组还有数据库的字段名,相当于返回两个数组。fetch_row返回只有下标是012345...的数组。它们两个都有一个向下移动的指针,每运行一次就向下移动,所以可以放在while中而不会无限循环。

$result =$con->query($sql); 当查询不存在时 result也是true。

M实例化参数是数据库的表名。D实例化的是你自己在Model文件夹下面建立的模型文件

include每次读取,而require只读取一次,所以经常变化的文件用include,执行多次的用require。加不加括号一样,但加括号慢。include包含一个不存在的文件会警告,程序可以运行,require包含不存在的文件,程序不会执行。

主键:唯一标示一条记录,不能重复不允许有空值。

外键:表的外键是另一个表的主键,外键可以重复,也可以为空。(学院表,学生表,学生表中的学院id可以是重复的,也可以空,表示不确定哪个学院)

索引:不能重复,可以为空。

主键用来保证数据完整性。外键用来和其他数据表建立联系。索引提高排序速度。主键只能有一个,外键可以多个,索引可以有多个。

M方法和D方法:M:实例化基础模型类,D:实例化自定义模型类,使用D方法若没有自定义模型则调用M方法,他们都是单利模型。

redis:

优势:所有数据都存储在内存中

我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存,这样,后面的请求就去缓存中读取,请求使得能够迅速响应

在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用的的Redis的做一个缓冲操作,让请求先访问到的Redis的的,而不是直接访问数据库。

劣势:不适合海量数据的操作,占用太大内存

phpstorm配置:

先不要配置interpreter。在deploment中添加in place,这样浏览器中不再出现很长的路径,代码放在www目录下。

laravel安装:

先安装composer。选择对应的php.exe 。很慢。打开cmd 使用composer有显示安装是否成功。

composer global require "laravel/installer"   同样很慢

安装  composer create-project  --prefer-dist  laravel/laravel=5.5. * laraveltest    同样很慢

浏览器访问server.php  出现laravel图标  安装成功。

在laraveltest目录中输入php artisan serve 这样在浏览器中通过 http://localhost:8000 即可访问应用。关闭cmd就访问不了了。

要想在laravel中进行测试,需要安装phpunit 才能用phpunit命令  安装挺简单的

访问laravel路由:正常访问laravel入口文件是这样的  http://localhost/laraveltest/public/

访问web下的hello路由 http://localhost/laraveltest/public/hello    get可以url访问,post不行

路由参数($url,$callback);     url为一个传入参数,例如get post等,然后返回 例如view,echo等等

路由转到控制器时,若控制器有构造函数,则先调用构造函数。

中间件为了过滤http的请求,例如是否登录,没有登录则重定向到登录界面。

控制器将http请求封装到一个类中进行处理。

view文件后缀该有blade ,blade是一个引擎,有输出功能。

composer创建控制器命令:php artisan make:controller MemberController

mvc: model逻辑模块,处理数据,和数据库接触多。vie视图,前端显示。control,路由到control/函数方法再调用模型。

compact创建一个变量名是键,变量值是值的数组。

DB类在/Illuminate/Support/Facades/DB目录下,而真正起作用的是/Illuminate/database的composer插件,里面的/Illuminate/Database/DatabaseManager类,具体的可用函数可以参考该类。
另外,DatabaseManager类中有很多方法是通过magic call实现的,具体的实现在 Connection 类中,select、table等sql关键字都在里面。

Laravel5.4及以上版本 默认使用 utf8mb4 字符,包括支持在数据库存储「表情」。如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release 版本低于10.2.2 ,为了MySQL为它们创建索引,你可能需要手动配置迁移生成的默认字符串长度,

这时候打开项目下的app\Providers\AppServiceProvider.php 文件 
引入 use Illuminate\Support\Facades\Schema; 
然后在 boot 方法添加一行代码 
Schema::defaultStringLength(191); 
重新执行迁移即可

tp框架url后面的路径:模块/控制器/操作       文件名和控制器首字母必须大写
http://localhost/thinkphp/public/index.php/test/test/hello

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值