php基础语法
白小狮
技术改变人生
展开
-
php trait和go struct的匿名字段
首先要申明,php中的trait的概念就是和go语言中的struct的匿名字段是一个概念。都是希望将一个结构融入到另外一个结构中,增加另外一个结构的功能。而不是通过树形的继承php trait demo<?php class Base { public function sayHello() { echo 'Hello'; } }原创 2018-01-16 23:30:09 · 393 阅读 · 0 评论 -
php的内存原理
对像在PHP 里面和整型、浮点型一样,也是一种数据类,都是存储不同类型数据用的, 在运行的时候都要加载到内存中去用,那么对象在内存里面是怎么体现的呢?内存从逻辑上 说大体上是分为4 段,栈空间段、堆空间段、代码段、初始化静态段,程序里面不同的声明 放在不同的内存段里面,数据段(data segment)通常是指用来存放程序中已初始化且不为0的全局变量如:静态变量和常量;代码段(code seg转载 2014-12-30 21:30:38 · 588 阅读 · 0 评论 -
postfix最简单配置
1.配置邮件服务器主机名 2 myhostname = mail.lampym.com 3 mydomain = lampym.com 4 myorigin = $myhostname 5 myorigin = $mydomain 6 inet_interfaces = all 7 mydestination = $myhostname 8 mynetwo原创 2014-12-29 23:37:26 · 656 阅读 · 0 评论 -
php 内核原理
背景HHVM 是 Facebook 开发的高性能 PHP 虚拟机,宣称比官方的快9倍,我很好奇,于是抽空简单了解了一下,并整理出这篇文章,希望能回答清楚两方面的问题:HHVM 到底靠谱么?是否可以用到产品中?它为什么比官方的 PHP 快很多?到底是如何优化的?你会怎么做?在讨论 HHVM 实现原理前,我们先设身处地想想:假设你有个 PHP 写的网站遇到了性能问题原创 2014-12-30 16:48:25 · 1348 阅读 · 0 评论 -
深深的切痛 php
脚本语言,维基百科上定义为,“为了缩短传统的编写—编译—链接—运行过程而创建的计算机编程语言。通常具有简单、易学、易用的特色,目的就是希望开发者以简单的方式快速完成某些复杂程序的编写工作”。若照此说明返观目前琳琅满目的计算机语言,甚至可说当今天下三分,脚本语言既已占其二矣。复杂如Java、C#,普通如Ruby、Python,简单如JavaScript、Lua之类,都是我们日有所闻,时有关心,往转载 2014-12-29 13:16:40 · 594 阅读 · 0 评论 -
php var的解释
Note: 为了向后兼容 PHP 4,PHP 5 声明属性依然可以直接使用关键字 var 来替代(或者附加于)public,protected 或 private。但是已不再需要 var 了。在 PHP 5.0 到 5.1.3,var 会被认为是废弃的,而且抛出 E_STRICT 警告,但是 5.1.3 之后就不再认为是废弃,也不会抛出警告。如果直接使用 var 声明属性,而没原创 2014-12-26 17:44:06 · 1310 阅读 · 0 评论 -
psr-o命名规范 composer
PSR是Proposing a Standards Recommendation(提出标准建议)的缩写,是由PHP Framework Interoperability Group(PHP通用性框架小组,简称PHP-FIG)发起的,通过他们命名就可以看出,这是个主要是针对框架通用性而做努力的开放性小组,他们的在Github上有自己的仓库地址,目前只有一个被接受的标准,那就是PSR-0标准,标准定义转载 2015-01-14 20:08:52 · 1173 阅读 · 0 评论 -
php 获取网卡MAC地址,需要借助平台的命令
获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 /** 获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $retu原创 2014-12-07 15:56:19 · 1205 阅读 · 0 评论 -
理解php的静态类为什么可以不通过实例化
在php中定义一个类上如果有静态方法,这个类就称为静态类error_reporting(E_ALL ^ E_NOTICE);class Demo{pubilc static function sayHello(){echo 'this is sayhello function';}public function sayBye(){echo 'this i原创 2015-01-09 08:19:39 · 3250 阅读 · 0 评论 -
php 内核
相信很多人都听说过 Zend Engine 这个名词,也有很多人知道 Zend Engine 就是 PHP 语言的核心,但若要问一句:Zend Engine 到底存在于何处?或者说,Zend Engine 究竟是在什么时候怎么发挥作用让 PHP 源码输出我们想要的东西的?Zend引擎是PHP实现的核心,提供了语言实现上的基础设施。例如:PHP的语法实现,脚本的编译运行环境, 扩展机制以及内存管原创 2014-12-30 16:57:33 · 580 阅读 · 0 评论 -
CodeIgniter的一些实践
最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路。用在公众的项目,最好还是按框架规范来,所以还是总结一下,免得以后别人再接手的时候贻笑大方。1. 首先是 MVC如果你还不知道 MVC ,应该尽快的学习,你会很快的体会到在 Model 中数据访问,在 Controller 中进行业务逻辑,在 Views转载 2015-05-29 23:39:57 · 522 阅读 · 0 评论 -
php程序新体会
这阵子都在苦逼的加班,终于还是有一些自己的体会的,大牛看了不要唏嘘,初学者看了也不要觉得高深。个人最近才开始思考如何写代码的,第一次有这种感触。一个报表系统,虽然算不上很难,但是让我思考了很多的东西,譬如接口如何设计,参数的传递,页面数据模型的规划。先说接口的设计吧!一个好的交互可以让你的程序如鱼得水,也可以在工作中非常的轻松。刚开始进公司的时候,很多架构是有架构师来做的,原创 2015-06-04 23:37:50 · 487 阅读 · 0 评论 -
composer详解
php要什么包管理工具,虽然我至今觉得这个东西有点多余,但是经常用的到,还是做一下笔记的,因为急性不好啦。composer架构原理composer的原理和其他的包管理工具都是一样的,只是实现的细节有些不同,例如yum,例如brew,例如apt-get还有packets。composer管理的原理上图已经表达的非常的清楚了,通过上图我们应该知道如何正确的使用composer了吧使用自己的compos原创 2016-03-27 20:43:50 · 7179 阅读 · 2 评论 -
php 扩展学习笔记
zval *name;# 申明一个zval变量MAKE_STD_ZVAL(zval);#申明一个变量,并分配内存#php内核解析参数zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zval) ==FAILURE #下面是类型的列表Type Code Variable TypeBoolean b zend原创 2016-04-23 13:38:41 · 1010 阅读 · 0 评论 -
php 登入
<?php$arr=array("one","two","three","four");foreach ($arr as $value){ echo $value."";} ?>输出结果onetwothreefour原创 2013-06-05 09:35:19 · 714 阅读 · 0 评论 -
php闭包详解 javascript中闭包的概念也是这样
<?php /** * 闭包的概念 * 1.外部的函数可以调用函数内部的局部变量 * 2.保护了变量只在函数内部运行,不会受其他全局变量的影响 * 3.运行后变量还保存在栈中,没有释放,所以javascript中经常用到这个特性 * 运行的结果 * 101 * 102 * 103 * 104 */ function demo() {原创 2014-10-12 11:38:32 · 887 阅读 · 0 评论 -
Iterator详解
Iterator详解Iterator中文翻译就是迭代器,再说的通俗点就是循环啦,相信你已经敲了很多遍的循环了吧!java中称之为设计模式的一种,(大家不要被设计模式吓到,我也可以通俗的解释一下设计模式是什么鬼:你现在想做一个功能,于是你考虑各种情况,于是你就会考虑你的代码应该如何写才能符合这一类问题的变化。于是你在纸上列出了5,6条你觉得会改变的地方,于是你的代码就把这些地方 写的可以拓展,于是原创 2016-08-12 23:29:28 · 1567 阅读 · 0 评论 -
久违的数据库左连接
很久没有用数据库的left join ,right join inner join了,因为自从进入数据技术中心之后,这种就很少用到了,大部分都是用代码来做运算,数据都是从多个服务器中来取的,而且获取出的数据是各种的坑爹,各种的不符合规范,在这里做了大半年了,所以感觉和join已经久违了。就此也发现php的数组其实是很厉害的,在php中数据结构完全就是依靠着数组,算法自然也是这样了,只有用数组处理过原创 2015-07-28 22:21:33 · 417 阅读 · 0 评论 -
php中的iterator迭代器(遍历)
遍历主要用于遍历元素的操作,如对数组中的每一个元素都要操作,这个情况下我们就可以使用迭代器interface Demo//这里描述了提供给开发者的接口{public function fn1();public function fn2();public function fn3();}interface Demo2 extends Demo//这一步是为原创 2014-12-30 23:26:48 · 2287 阅读 · 0 评论 -
写好php程序的一些基本的做法
1- 编写模块化代码 良好的PHP代码应该是模块化代码。PHP的面向对象的编程功能是一些特别强大的工具,可以把你的应用程序分解成函数或方法。你应该尽可能多的从你的应用程序的服务器端分开前端的HTML/CSS/JavaScript代码。你也可以在任何PHP框架上遵循MVC(模型-视图-控制器)模式。 2- 代码编写规范 良好的PHP代码应该有一套完整的代码编写规范。通过对变量转载 2015-05-24 12:43:50 · 488 阅读 · 0 评论 -
apt-get命令简单记录
Ubuntu APT常用命令参数具体介绍Ubuntu APT命令参数,让大家了解Ubuntu APT命令参数使用,希望对大家有用。Ubuntu 是一个完全以 Linux 为基础的操作系统, 可自由的获得,并提供社区和专业的支持。 常用的Ubuntu APT命令参数 apt-cache search package 搜索包 apt-cache show package 获取原创 2014-11-15 17:52:43 · 767 阅读 · 0 评论 -
php socket编程通信
php socket通信原创 2013-07-21 17:42:45 · 10069 阅读 · 1 评论 -
php 中date_default_timezone_set()函数的使用
今天才知道服务器的时间获取的是格林尼治的时间,所以php默认的是格林尼治时间,和我们北京时间正好相差8小时,我们应该如何修改成北京时间呢1 修改php.ini文件,找到 date.timezone= 前面的分号去掉,成date.timezone=Asia/ShangHai 这样,下面看下亚洲都有哪些时区2 在php程序运行的时候修改 date_defaul原创 2013-07-21 15:57:32 · 1771 阅读 · 0 评论 -
关于像素的理解问题
自学好长时间了,之前也学习过photoshop,虽然知道像素是组成位图的基本单元,但是在我的脑海里一直有一个错误的认识像素是有长度的,但是实际上像素是没有确定的长度的,例如你的电脑屏幕分辨率是800*600 , 这表示一行有800个像素,有600行,但是如果你的电脑屏幕调成1024*768,此刻的一行表示1024个像素,有768行, 但是我们要思考的是?为什么电脑屏幕没有变化,成像原创 2013-06-20 14:22:05 · 950 阅读 · 0 评论 -
php 中autoload机制
这是一篇解释很详细的文章,来自php100,贴在这里给自己鼓励!(1) autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际转载 2013-06-09 07:55:31 · 665 阅读 · 0 评论 -
php is_numeric
<?php $str=1312313; echo is_numeric($str); ?>is_numeric这个函数判断是否为数学或者数字字符串原创 2013-06-08 15:02:35 · 1639 阅读 · 0 评论 -
php 中require() include() require_once()
require()在被包含文件出错里将不继续执行,而include()会继续执行require_once()如果文件代码已经包含,则不会重复包含综上所述:我们应该用require_once()才恰当!原创 2013-06-05 09:53:49 · 549 阅读 · 0 评论 -
php switch语法
switch的语法老是记不住,今天在这里贴出来,以后多看几遍就清楚了<?php$i=1;switch ($i){ case 0: echo "is equles 0"; break; case 1: echo "is equles 1"; break; case 2: echo "is equles 2"; break; default: echo "this is原创 2013-06-05 09:43:56 · 734 阅读 · 0 评论 -
php中&的理解
这里的意思是指$b,$c,$a都是指向同一个内存的,所以其中任何一个操作都将改变其原始的值而c语言中的指针操作是指针的上移或者下移,并且指向了另一个内存单元了,而并不是改变内存单元原创 2013-06-05 09:29:12 · 673 阅读 · 0 评论 -
php file oprator
一、引论在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.)二、目录操转载 2013-07-30 17:33:29 · 621 阅读 · 0 评论 -
php public protected private的区别
转载 2013-08-03 19:28:03 · 900 阅读 · 0 评论 -
一直想去掉editplus中的BOM头
第一步: Tools----preference------file------default encoding---utf-8第二步:Document----File-encoding------utf-8这样就可以了原创 2013-08-04 22:42:26 · 4233 阅读 · 0 评论 -
ftp可以访问任何目录
ftp用户要访问目录,思路就是ftp用户必须具有该目录的权限,我的方法是将ftp用户添加gai原创 2014-10-12 08:46:24 · 3729 阅读 · 0 评论 -
php理解类的实例化内存图解
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后原创 2014-10-12 09:14:05 · 2281 阅读 · 0 评论 -
计算两个路径的相对路径
上面是自己写的计算两个相对路径的函数,原创 2014-10-09 07:10:36 · 1751 阅读 · 0 评论 -
这里记录下preg_match_all 模式修饰符,来自Php手册
模式修饰符 ¶下面列出了当前可用的 PCRE 修饰符。括号中提到的名字是 PCRE 内部这些修饰符的名称。 模式修饰符中的空格,换行符会被忽略,其他字符会导致错误。i (PCRE_CASELESS)如果设置了这个修饰符,模式中的字母会进行大小写不敏感匹配。 m (PCRE_MULTILINE)默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行),原创 2014-11-10 13:40:23 · 2935 阅读 · 0 评论 -
bash shell笔记
vi /etc/shellsshell脚本是怎样执行的echo "hello world"echo -e 支持反斜线\\ \a\n\v\b向左删除//---------------------------------------------------------history-c 清空历史命令-w 把历史打过的命令写入文原创 2014-10-24 08:04:22 · 519 阅读 · 0 评论 -
php如何判断ajax请求
/** * 是否AJAX请求 * @access protected * @return bool */ protected function isAjax() { if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) ) { if('xmlhttprequest原创 2014-08-26 17:03:52 · 2924 阅读 · 0 评论 -
get_magic_quotes_gpc()
原创 2013-09-07 19:01:45 · 744 阅读 · 0 评论 -
动态变量vs常量 动态存储vs静态存储
变量的存储方式可分为“静态存储”和“动态存储”两种。 静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束。5.5.1节中介绍的全局变量即属于此类存储方式。动态存储变量是在程序执行过程中,使用它时才分配存储单元, 使用完毕立即释放。 典型的例子是函数的形式参数,在函数定义时并不给形参分配存储单元,只是在函数被调用时,才予以分配, 调用函数完毕立即释放。如原创 2013-08-30 23:46:34 · 1099 阅读 · 0 评论