Maison > Article > développement back-end > Résumé des connaissances de base de l'apprentissage php
Cet article partage principalement avec vous les connaissances de base de l'apprentissage de PHP. Le contenu est très simple. J'espère qu'il sera utile aux amis qui commencent tout juste à apprendre PHP.
J'étudie le PHP depuis plus d'un an maintenant. J'ai accumulé beaucoup de notes et elles sont assez compliquées. Laissez-moi écrire un article pour les trier.
Partie de base PHP
<span style="font-family:新宋体">PHP</span>
Commandes de base pour la sortie de texte : <span style="font-family:新宋体">echo</span>
et <span style="font-family:新宋体">print</span>
.
La différence entre echo et print
<span style="font-family:新宋体">echo</span>
est une instruction PHP, <span style="font-family:新宋体">print</span>
et <span style="font-family:新宋体">print_r</span>
sont des fonctions, les instructions n'ont pas de valeur de retour et les fonctions peut avoir des valeurs de retour (Même si cela ne sert à rien)
<span style="font-family:新宋体">echo</span>
Sortir une ou plusieurs chaînes. <span style="font-family:新宋体">print</span>
Peut uniquement imprimer les valeurs de variables de type simple (telles que int, string) <span style="font-family:新宋体">print_r</span>
Peut imprimer les valeurs de variables de type complexe (telles que des tableaux, des objets)
var_dump et print_r La différence entre
<span style="font-family:新宋体">var_dump</span>
renvoie le type et la valeur de l'expression, tandis que <span style="font-family:新宋体">print_r</span>
ne renvoie que le résultat, ce qui est plus facile à lire que d'utiliser <span style="font-family:新宋体">var_dump</span>
pour le débogage code.
Variables
Les variables sont utilisées pour stocker des valeurs, telles que des nombres, des chaînes de texte ou des tableaux. Toutes les variables en PHP commencent par un symbole $.
Les noms de variables PHP sont sensibles à la casse !
PHP a trois portées de variables différentes :
<code>local(局部)<br>global(全局)<br>static(静态)</code>
Les variables déclarées en dehors d'une fonction ont une portée <span style="font-family:新宋体">Global</span>
et ne sont accessibles qu'en dehors de la fonction.
Les variables déclarées à l'intérieur d'une fonction ont une portée <span style="font-family:新宋体">LOCAL</span>
et ne sont accessibles qu'à l'intérieur de la fonction. Le mot-clé
<span style="font-family:新宋体">global</span>
est utilisé pour accéder aux variables globales dans une fonction.
Mots clés statiques PHP
Habituellement, toutes les variables sont supprimées lorsqu'une fonction se termine/s'exécute. Cependant, parfois, je n'ai pas besoin de supprimer une variable locale. Y parvenir nécessitera des travaux supplémentaires.
Pour ce faire, utilisez le mot-clé static lorsque vous déclarez pour la première fois la variable :
<code><?php <br/>function myTest() {<br/> static $x=-1;<br/> echo $x;<br/> $x--;<br/>}<br/>myTest();//-1<br/>echo "<br>";<br/>myTest();//-2<br/>echo "<br>";<br/>myTest();//-3<br/>?></code>
type php
php类型:**PHP 支持八种原始类型。**
Booléen
Pour spécifier une valeur booléenne, utilisez les mots-clés VRAI ou FAUX. Les deux ne sont pas sensibles à la casse.
Entier
Nous pouvons utiliser (int) pour transformer la décimale en un entier.
<code><?php<br/> var_dump((int)(26/3));//int(8)<br/>?></code>
Array
Il existe trois types de tableaux en PHP :
<code>索引数组:就是下标是顺序整数作为作为索引(比如第几排第几列)$class[5]<br>关联数组:就是下标是字符串作为索引(比如名字)$class2["zhangsan"]<br>多维数组 - 包含一个或多个数组的数组</code>
L'indice est soit un entier, soit une chaîne.
<code><?php<br/>$array = array(<br/> "foo" => "bar",<br/> "bar" => "foo",<br/>);<br/>// 自 PHP 5.4 起<br/>$array = [<br/> "foo" => "bar",<br/> "bar" => "foo",<br/>];<br/>?></code>
Les cellules du tableau sont accessibles via la syntaxe <span style="font-family:新宋体">array[key]</span>
.
Remarque : cela ne signifie pas toujours citer les noms des clés. Il n'est pas nécessaire de citer les noms clés des constantes ou des variables, sinon <span style="font-family:新宋体">PHP</span>
ne pourra pas les analyser.
Opérateurs de tableau
例子名称结果$a + $b 联合 $a 和 $b 的联合$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE$a != $b 不等 如果 $a 不等于 $b 则为 TRUE$a a8093152e673feb7aba1828c43532094 $b 不等 如果 $a 不等于 $b 则为 TRUE$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE
<span style="font-family:新宋体">+</span>
运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
对象
要初始化一个对象,用 new 语句将对象实例到一个变量中。
常用函数
strlen() 函数用于计算字符串的长度。
strpos() 函数用于在字符串内检索一段字符串或一个字符。
常量
可以用 define() 函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义。
常用的魔术常量:
定义常量例子:
<code><?php<br/>define("poems" , "Homeric epic");<br/>echo poems ;//outputs "Homeric epic" <br/>?></code>
php字符串运算符
在 PHP 中,只有一个字符串运算符。
并置运算符 <span style="font-family:新宋体">(.)</span>
用于把两个字符串值连接起来。如:echo "a= ".$a."0c6dc11e160d3b678d68754cc175188a";
左边将字符串文字"a="与变量$a的值连接,第二处是与换行符<span style="font-family:新宋体">"0c6dc11e160d3b678d68754cc175188a"</span>
连接
php函数
函数只有在被调用时才会被执行,这点和js是一样的,同样,函数定义也是以function关键字开头的。
<code><?php<br/> function sum($x,$y){<br/> $z=$x + $y;<br/> return $z;<br/> }<br/> echo "-2+10= ".sum(-2,10);//outputs "-2+10=8"<br/>?></code>
当没有<span style="font-family:新宋体">return</span>
语句时,以上将会变成"-2+10=";
流程控制
在这里,只讲下<span style="font-family:新宋体">foreach</span>
语句。
<span style="font-family:新宋体">foreach</span>
语句遍历输出数组:
语法:
foreach (array_expression as $value){ statement}; foreach (array_expression as $key => $value){ statement};
参数<span style="font-family:新宋体">array_expression</span>
是指定要遍历的数组,<span style="font-family:新宋体">$value</span>
是数组的值
<code><?php<br/> $actors [0] ="Marry";<br/> $actors [1] ="Lorry";<br/> $actors [2] = "mike";<br/> foreach ($actors as $values){<br/> echo "Name:$values<br>"; <br/>}<br/>?></code>
以上代码将输出:
Name:Marry
Name:Lorry
Name:mike
两个重要的魔术方法
1. __set( )方法:这个方法用来为私有成员属性设置值的,有两个参数,第一个参数为你 要为设置值的属性名,第二个参数是要给属性设置的值,没有返回值。 2. __get()方法:这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个方法不用我们手工的去调用
php中方法不区分大小写
require(dirname(__FILE__).'/global.php'); //引入全局文件 require(dirname(__FILE__).'/config.ini.php'); //引入基本配置文件
对象运算符和双冒号运算符
在类的成员方法里面,可以用 ->(对象运算符):<span style="font-family:新宋体">$this->property</span>
(其中 property 是该属性名)这种方式来访问非静态属性。
静态属性则是用 <span style="font-family:新宋体">::</span>
(双冒号):<span style="font-family:新宋体">self::$property</span>
来访问。
=>和->
<span style="font-family:新宋体">=></span>
数组成员访问符号,<span style="font-family:新宋体">-></span>
对象成员访问符号;<span style="font-family:新宋体">$this</span>
-<span style="font-family:新宋体">>$name=$value</span>
:将当前类的<span style="font-family:新宋体">name</span>
变量的值设为<span style="font-family:新宋体">$value</span>
;<span style="font-family:新宋体">$this</span>
代表了类本身,<span style="font-family:新宋体">-></span>
是访问其类成员的操作符
双冒号运算符(<span style="font-family:新宋体">::</span>
)类名<span style="font-family:新宋体">::</span>
静态属性/方法
“<span style="font-family:新宋体">::</span>
”用来调用类中静态的属性和方法
<span style="font-family:新宋体">include()</span>
:包含外部文件,语法格式为 include(string filename);<span style="font-family:新宋体">require()</span>
:会输出错误信息,终止脚本<span style="font-family:新宋体">include_once()</span>
:多次调用相同文件时,程序只会调用一次<span style="font-family:新宋体">require_once()</span>
:先检查文件是否在其他地方被调用过<span style="font-family:新宋体">array_pop()</span>
:获取并返回数组中的最后一个元素<span style="font-family:新宋体">count()</span>
:统计数组中的元素个数<span style="font-family:新宋体">array_search()</span>
:获取数组中元素的键名<span style="font-family:新宋体">$array_keys()</span>
:获取数组中重复元素的所有键名
单引号和双引号
PHP把单引号中的数据视为普通字符串,不再处理。而双引号还要对其中的字符串进行处理
get和post
$_GET[ ]和$_POST[ ]全局数组:分别用来接收GET和POST方法传递到当前页面的数据。“[ ]”里面是name.
php参数传递常用的方法有3种:$_POST[ ]、$_GET[ ]、$_SESSION[ ],分别用于获取表单、URL与Session变量的值。
表单提交中get和post方式的区别归纳如下几点:
<code>GET是从服务器上获取数据,POST是向服务器传送数据。<br>GET 是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。<br>对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数据。<br>GET传送的数据量较小,不能大于2KB(这主要是因为受URL长度限制)。POST传送的数据量较大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。<br>GET 安全性较低,POST安全性较高。因为GET在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记 录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一 同显示在用户面前。POST的所有操作对用户来说都是不可见的。</code>
在FORM提交的时候,如果不指定Method,则默认为 GET请求(.net默认是POST),Form中提交的数据将会附加在url之后,以?分开与url分开。字母数字字符原样发送,但空格转换为“+” 号,其它符号转换为%XX,其中XX为该符号以16进制表示的ASCII(或ISO Latin-1)值。GET请求请提交的数据放置在HTTP请求协议头中,而POST提交的数据则放在实体数据中;GET方式提交的数据最多只能有2048字节,而POST则没有此限制。POST传递的参数在doc里,也就http协议所传递的文本,接受时再解析参数部分。获得参数。一般用POST比较好。POST提交数据是隐式的,GET是通过在url里面传递的,用来传递一些不需要保密的数据,GET是通过在URL里传递参数,POST不是。
1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连
2.GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据,IIS4中最大为80KB,IIS5中为100KB
HTTP状态码
cookie和session区别
cookie的内容主要包括:名字,值,过期时间,路径和域。路径与域一起构成cookie的作用范围。若不设置过期时间,则表示这
个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失。这种生命期为浏览器会话期的cookie被称为会话cookie。
会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。若设置了过期时间,浏览器就会把cookie
保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。
当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识
(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来
使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相
关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应
中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给
服务器。
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
php代码规范
1. Les affectations de variables doivent être espacées et disposées de manière égale
2. Aucun espace supplémentaire n'est autorisé à la fin de chaque ligne
3. la même casse. Les systèmes de type Unix sont sensibles à la casse
4. Les noms de méthodes ne peuvent être composés que de lettres, les traits de soulignement ne sont pas autorisés, la première lettre doit être en minuscule et la première lettre de chaque mot suivant. doit être en majuscule
5. Les noms d'attributs ne peuvent être composés que de lettres, les traits de soulignement ne sont pas autorisés⋯⋯
6 Pour accéder aux membres des objets, nous devons toujours utiliser le "get" et Méthodes "set"
7. Lorsqu'une méthode membre de classe est déclarée comme privée, elle doit commencer par un double trait de soulignement ; lorsqu'elle est déclarée comme protégée, elle doit commencer par un seul attribut de membre "_" ; déclarés comme publics ne peuvent pas contenir de soulignement.
8. Si nous devons définir certaines méthodes fréquemment utilisées en tant que fonctions globales, elles doivent être définies dans la classe sous une forme statique
9. Utilisez des lettres minuscules pour les noms de fonctions et les traits de soulignement doivent l'être. capable de décrire clairement la fonction de la fonction.
10.Les valeurs booléennes et les valeurs nulles sont toutes deux en minuscules.
11. Lorsqu'une chaîne est composée de texte brut (c'est-à-dire qu'elle ne contient pas de variables), elle doit toujours utiliser des guillemets simples (') comme délimiteur
12. type Lors de la déclaration d'un tableau associatif, il doit être divisé en plusieurs lignes pour garantir que les clés et les valeurs de chaque ligne sont alignées
13 Tout le code de la classe doit être indenté de quatre espaces
.14 . Il n'est pas autorisé d'utiliser var pour déclarer des variables. Les variables membres de la classe doivent être déclarées comme privées, protégées et publiques. Habituellement, les méthodes get et set sont utilisées pour accéder aux membres de la classe.
15. Les méthodes doivent toujours utiliser private, protected ou public pour déclarer leur portée
16. Aucun espace supplémentaire n'est autorisé entre le nom de la fonction ou de la méthode et les crochets des paramètres
Explication détaillée de quatre algorithmes PHP de base
Explication détaillée des connaissances de base de PHP
Explication détaillée des exemples de fonctions de base PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!