![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
原创
文章平均质量分 79
BetaCat1
这个作者很懒,什么都没留下…
展开
-
面对修改关闭,面对扩展开放
开闭原则Java web中开闭原则(OCP)是指软件实体应当对扩展开放,对修改关闭。对扩展开放意味着模块的行为是可扩展的,对于修改的封闭则是对模块的行为进行扩展时,不必改动模块的源代码或者二进制代码。...原创 2019-12-13 15:23:03 · 898 阅读 · 0 评论 -
PHP在局部命名空间中引入全局命名空间的文件后,是否会合并?
1.php`namespace one;include('test.php');class A{ function __construct() { new \B();//输出‘我是全局空间的B类’,如果不带\符号,那么会提示找不到这个Class 'one\B' 这个类 }}new A();`test.phpclass B{ publi...原创 2019-11-15 13:46:13 · 258 阅读 · 0 评论 -
PHP中file_exists与is_file,is_dir的区别介绍
很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file_exists是什么意思呢?PHP的 file_exists = is_dir + is_file它既可以判断文件是否存在,又可以判断目录是否存在。但这样一个全面的函数执行效率非常低,就像asp中request不指定是form,还是ge...原创 2019-10-27 15:10:13 · 178 阅读 · 0 评论 -
CSS中的inline和inline-block
inline只是让当前的元素变成行内元素,但是对元素中包含的的块级元素无效,元素包含中的块级元素还是另起一行显示的。元素外的行内元素无法和元素内的块级元素在一行中显示。inline-block让当前元素,包含元素中的块级元素,一起成为了行内元素。即便元素包含中的块级元素在这个行内元素中的显示还是另起一行的,但是对于元素外的行内元素来说可以在一行显示了。...原创 2019-10-22 19:23:50 · 422 阅读 · 0 评论 -
isset()和empty()和is_null ()区别
$a=false;var_dump(isset($a));//返回trueisset — 检测变量是否已设置并且非 NULL。isset只有在变量未被定义的时候才会返回false。就算变量被定义为false也会返回true.$a=false;var_dump(empty($a));//返回trueempty在变量被定义为false时(包括0,‘0’)也会返回true.综上,现在很...原创 2019-07-20 19:38:05 · 117 阅读 · 0 评论 -
PHP PDO execute总是返回false
public function list($user_id,$page,$size){ if($size > 100) { throw new Exception('Page limited 100', Error::PAGE_LIMIT_EXCEED); } $sql = "SELECT * FROM `arti...原创 2019-07-22 12:20:58 · 959 阅读 · 0 评论 -
GIT学习笔记
git init (创建版本库)git status (当前状态)git add (添加文件到暂存区)git commit -m “注释” (-m代表注释,提交暂存区的文件到版本库)git rm 文件名 (删除文件,1.如果你用的rm删除文件,那就相当于只删除了工作区的文件,如果想要恢复,直接用git checkout – 就可以 2.如果你用的是git rm删除文件,那就...原创 2019-07-27 20:59:39 · 113 阅读 · 0 评论 -
类在实例化之前是否占有内存?
类一旦加载,就会占用内存(否则加载啥),实例化,是将其在堆里面复制了一份(一般是属性),然后返回给用户。根据不同的需求实例化成不同的实例,这就是多态。所以类就是实例的模板。类在实例化之前肯定储存在某一个程序访问不到的段中,这个段在new的时候才能访问到先通俗的分析下,我们把类看作是一个房子。房子里面有家具,桌椅板凳之类的,房子里面还有人。房子里面所有的人都应该是共有一套家具的。也就是说,这些家...原创 2019-08-12 20:43:06 · 2207 阅读 · 4 评论 -
类的定义和加载
类一旦加载,就会占用内存(否则加载啥),实例化,是将其在堆里面复制了一份(一般是属性),然后返回给用户。根据不同的需求实例化成不同的实例,这就是多态。所以类就是实例的模板。类在实例化之前肯定储存在代码段中只是没有执行而已,就像function一样,这个段在new的时候才能执行并为类中的成员属性在堆中分配空间,方法在堆中只有指针,指针指向代码段的方法定义,就像function只有在调用的时候才会在栈...原创 2019-08-12 22:48:06 · 182 阅读 · 0 评论 -
PHP将对象或数组作为参数传入,传的是副本还是本体?
class A{ public $name ='ZZZ'; function setname($new_name){ $this->name = $new_name; }}$me = new A();function B($class){ $class->setname('QQQ');}B($me);echo $me->...原创 2019-09-10 16:31:58 · 466 阅读 · 0 评论 -
.为何要用匿名函数
.为何要用匿名函数:不用担心函数名冲突,方便为自己不熟悉的JS页面添加功能。匿名函数的定义就相当于只产生了一个变量在值,而没有绑定任何名字,所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次。应用:当某一个功能仅使用一次就没有再重复使用的必要了就应该定义成匿名函数。...原创 2019-09-12 09:38:47 · 964 阅读 · 0 评论 -
PHP函数global传入全局变量是引用传参还是复制传参
$a = 'zzz';function show(){ global $a; $a = 'qqq';}show();echo $a;输出:qqq结论:引用传参原创 2019-09-12 19:27:43 · 385 阅读 · 0 评论 -
composer安装工具包的时候卡住不动了怎么办
composer被墙了,因为工具包是放在github上的,所以只能用中国镜像:http://pkg.phpcomposer.com/原创 2019-07-19 20:11:39 · 2844 阅读 · 0 评论 -
正则表达式学习笔记
在线验证工具 : http://www.atool9.com/regex.php原创 2019-07-29 11:02:26 · 172 阅读 · 0 评论 -
策略模式的PHP实现实例
//所有鸭子的抽象类abstract class Duck{ public $flyB;//为引用对象建立变量,飞行行为 public $quackB;//为引用对象建立变量,叫声行为 //执行飞行行为 public function performfly(){ $this->flyB->fly(); } //执行叫声行...原创 2019-05-08 16:54:49 · 307 阅读 · 0 评论 -
PHP变量只记忆表达式运算后的值,而不是每次提取变量都重新计算一遍
$a = [1,2,3,4];$b = count($a);echo $b;//输出4array_pop($a);echo $b;//输出4print_r($a);//Array ( [0] => 1 [1] => 2 [2] => 3 )可以看出,虽然数组的项数已经减少了,但是b输出的还是第一次计算的count(b输出的还是第一次计算的count(b输出的还是第一...原创 2019-05-18 14:36:21 · 339 阅读 · 0 评论 -
PHP在函数中使用全局变量时和形参名产生冲突时会发生什么
$a = 1;function A($a){ global $a; echo $a;}A(2);//输出1当用global声明之后,$a变量的地址就指向全局变量了。原创 2019-05-18 14:25:04 · 353 阅读 · 0 评论 -
PHP中define 和const的区别
define 可用表达式来定义,但不能在类中定义,比如define(NAME,$a);const只能用字面量(标量)来定义,不过可以在类中定义,例如:const NUM = 99;原创 2019-05-18 15:01:55 · 351 阅读 · 0 评论 -
PHP的全局作用域是文件本身
PHP的全局作用域是文件本身而不是以<?php ?>来决定的<?php$a = 100; ?><?php echo $a;//输出100?>原创 2019-05-18 20:29:55 · 288 阅读 · 0 评论 -
{}和endforeach语法在功能上没有区别,只是在模板中更加清晰而已
<?php$a =[1,2,3,4,5,6];foreach($a as $i){ ?> <a href="www.baidu.com"><?php echo $i;?></a><?php } ?>同样可以输出a标签。原创 2019-06-02 08:52:43 · 1442 阅读 · 0 评论 -
字符串本质是字符数组
$a = 'hello world' ;for ($i=0;$i<strlen($a);$i++){ echo "第${i}个字符串是:".$a[$i],'<br>';}原创 2019-06-14 17:18:30 · 660 阅读 · 0 评论 -
CS50学习笔记
11:内存中的高地址在下,而低地址在上。栈是由高地址向低地址发展的。缓冲区溢出,是指你给一个变量的数据量超过了它的存储范围,如果数据量过大,那么多余的数据可能直接影响到操作系统的内存地址,这样会造成系统或者程序崩溃。如果不是很大的数据量,但是也超过了范围也会很可怕,因为黑客可以利用函数的特性重新覆盖函数结束后的返回地址,而这些返回地址则是自己写的代码的起始地址。12:电脑在硬盘上存储完文...原创 2019-06-19 19:35:29 · 620 阅读 · 0 评论 -
C的结构体可以定义函数吗
结构体内不能有函数的代码,但可以有函数的指针c++可以直接定义函数原创 2019-07-08 10:17:20 · 4809 阅读 · 0 评论 -
PHP中的switch case
$a = 10;switch ($a){ case $a<0: echo "${a}小于0"; break; case (1==1)://或者写成($a>0)也可以 echo "${a}大于0"; break; default: echo '没有匹配的条件'; break;}输出:10大于0switch case的逻辑是 $acase||...原创 2019-07-03 14:53:11 · 515 阅读 · 0 评论 -
php闭包测试
<?php$fun3 = function(){ $name = 1; $test = function()use(&$name){ return $name++; }; return $test;};$a=$fun3();for($i=0;$i<10;$i++){ echo $a();}?>输出:12345678910<?p...原创 2019-07-13 11:35:38 · 185 阅读 · 0 评论 -
PHP数组可以同时使用队列和栈的方法
$a = [1,2,3,4,5,];$b = array_pop($a);//栈取值$c = array_shift($a);//队列取值print_r($b);echo <br>;print_r($c);输出:51原创 2019-05-08 14:45:47 · 98 阅读 · 0 评论