Maison  >  Article  >  développement back-end  >  La collection la plus complète de notes d'introduction PHP de l'histoire (partage de résumé)

La collection la plus complète de notes d'introduction PHP de l'histoire (partage de résumé)

WBOY
WBOYavant
2021-12-22 18:59:097657parcourir

Cet article vous apporte des notes d'introduction à PHP. Les points de connaissances qui y sont enregistrés sont très détaillés. En tant que programme linguistique, la spécificité du langage PHP devient progressivement apparente dans le processus de candidature. j'espère utile à tout le monde.

La collection la plus complète de notes d'introduction PHP de l'histoire (partage de résumé)

Introduction

PHP (Hypertext Preprocessor) était à l'origine l'abréviation de Personal Home Page et a été officiellement renommé « PHP : Hypertext Preprocessor ». Depuis que l'Internet domestique a commencé à se développer dans les années 1990, l'information sur Internet a couvert presque tous les domaines de connaissances dans nos activités quotidiennes et est progressivement devenue un élément indispensable de nos vies, de nos études et de notre travail. Selon les statistiques, depuis 2003, la taille des pages Web de mon pays a essentiellement maintenu un taux de croissance de double et suit une tendance à la hausse. En tant que langage de développement de programmes de sites Web le plus populaire aujourd'hui, le langage PHP présente les avantages d'un faible coût, d'une vitesse rapide, d'une bonne portabilité et de riches bibliothèques de fonctions intégrées. Il est donc utilisé par de plus en plus d'entreprises dans le développement de sites Web. Cependant, avec la mise à niveau continue d’Internet, de nombreux problèmes sont apparus avec le langage PHP.

Selon les exigences des sites web dynamiques, le langage PHP, en tant que programme linguistique, sa spécificité apparaît progressivement dans le processus de candidature, et son niveau technique affectera directement l'efficacité de fonctionnement du site web. Ses caractéristiques sont qu'il possède un code source ouvert et qu'il est très similaire en termes de programmation aux langages à usage général tels que le langage C. Par conséquent, il est facile à comprendre et a une forte opérabilité pendant le fonctionnement. Dans le même temps, le langage PHP a un niveau élevé de transmission, de traitement et de sortie de données et peut être largement utilisé dans les systèmes Windows et divers types de serveurs Web. Si la quantité de données est importante, le langage PHP peut également élargir la surface des liens et se connecter à diverses bases de données pour alléger la pression du stockage, de la récupération et de la maintenance des données. Avec le développement de la technologie, les moteurs de recherche en langage PHP peuvent également être adaptés pour fournir des services personnalisés, tels que la classification, la collecte et le stockage de données en fonction des préférences des clients, ce qui améliore considérablement l'efficacité du fonctionnement des données.

Caractéristiques principales

(1) Open source et nature gratuite

Étant donné que le code source de l'interpréteur PHP est public, les sites Web avec des facteurs de sécurité plus élevés peuvent changer eux-mêmes l'interpréteur PHP. De plus, l’utilisation de l’environnement d’exécution PHP est également gratuite.

(2) Rapidité

PHP est un langage très facile à apprendre et à utiliser. Ses fonctionnalités syntaxiques sont similaires à celles du langage C, mais il n'a pas les opérations d'adresse complexes du langage C et il intègre également l'orientation objet. concepts, couplés à ses règles grammaticales concises, le rendant très simple à utiliser et à éditer, et très pratique.

(3) Extensibilité des connexions aux bases de données

PHP peut établir des connexions avec de nombreuses bases de données traditionnelles, telles que MySQL, ODBC, Oracle, etc. PHP utilise différentes fonctions compilées pour établir des connexions avec ces bases de données. PHPLIB est couramment utilisé comme bibliothèque de base pour. services généraux.

(4) Utiliser ensemble l'orientation processus et l'orientation objet

Dans l'utilisation du langage PHP, vous pouvez utiliser respectivement l'orientation processus et l'orientation objet, et vous pouvez mélanger PHP orienté processus et orienté objet, ce qui C'est ce que font de nombreux autres langages de programmation.

Avantages

(1) Populaire et facile à utiliser

PHP est actuellement le langage de programmation le plus populaire, cela ne fait aucun doute. Il gère plus de 200 millions de sites Web dans le monde et plus de 81,7 % des sites Web publics dans le monde utilisent PHP côté serveur. Les structures de données couramment utilisées dans PHP sont toutes intégrées. Il est pratique et simple à utiliser, pas compliqué du tout, et sa capacité d'expression est assez flexible.

(2) Il existe de nombreux postes de développement

Dans la programmation de sites Web côté serveur, PHP vous aidera plus facilement à trouver un emploi. De nombreuses sociétés liées à Internet utilisent le cadre de développement PHP, on peut donc dire que la demande du marché pour les programmeurs de développement PHP est encore relativement importante.

(3) Toujours en développement

PHP est constamment compatible avec des technologies telles que les fermetures et les espaces de noms, tout en prenant en compte les performances et les frameworks actuellement populaires. Après la version 7, il propose des applications plus performantes.

(4) Forte implantabilité

Dans le processus de correction des mises à niveau de vulnérabilités dans le langage PHP, la partie centrale du langage PHP est facile à implémenter et rapide à implanter.

(5) Forte évolutivité

Le langage PHP peut récupérer différents types de données de la base de données lors de l'application de la base de données, avec une efficacité d'exécution élevée.

Inconvénients

(1) Mécanisme d'interprétation et de fonctionnement de PHP

En PHP, toutes les variables sont au niveau de la page, qu'il s'agisse de variables globales ou de membres statiques de la classe, elles seront effacées après l'exécution de la page.

(2) Défauts de conception et manque d'attention PHP est appelé un langage opaque car il n'y a pas de trace de pile et diverses entrées fragiles. Il n’y a pas de philosophie de conception claire. Les premiers PHP ont été influencés par Perl, la bibliothèque standard sans paramètres a été introduite à partir du langage C et la partie orientée objet a été apprise à partir de C++ et Java.

(3) Mauvaise prise en charge de la récursion

PHP n'est pas bon en récursivité. La limite du nombre de fonctions récursives qu’il peut tolérer est nettement inférieure à celle des autres langages.


Syntaxe PHP

36fec4f2feea12bfa7d0dae2f008cf81";

echo "n";

echo PHP_EOL; //Saut de ligne


Type de variable de retour : var_dump

<?php
$a=1;
function test() { //声明一个函数,名字为 test
    global $a; //在函数内声明并引用外部变量,注意这里是小写 global
    echo $a;
    echo "<br>";
}
test(); //使用函数
echo $a;
?>


<?php
$a=10;
$b=20;
$c=30;
function test() {    
$a=100;
$GLOBALS[&#39;a&#39;]=$GLOBALS[&#39;b&#39;]+$GLOBALS[&#39;c&#39;]; //引用全局变量,这里的 GLOBALS 必须大写
  echo $a."<br>";
}
Test(); //函数名不区分大小写
 echo "<br>";
echo $a;
?>


Référence forte et référence faible
<?php
function test() {
    static $a = 0; //静态作用域,保留变量值
    echo $a . "";
    $a++;
}
test();//不使用static的话,每次输出都是 0
echo "<br>";
test();
echo "<br>";
test();
?>

Augmentation automatique et auto-déc. sortie rement

<?php
$a = 10;
$b = 20;
function test() {
    $a = 30;
    $b = 40;
    $c = $a + $b;
    echo  "函数内运算值:".$c;
    echo "<br>";
}
test();
$c = $a + $b;
echo "函数外运算值:".$c;
?>

if Jugement conditionnel

<?php
$a = "1111";
$b = 123;
$c = null;
echo var_dump($a) . "<br>";
echo var_dump($b) . "<br>";
echo var_dump($c) . "<br>";
$d = array(&#39;a&#39;, 1, abc); //数组
echo var_dump($d) . "<br>";
$e = true;
echo var_dump($e);
?>


<?php
$text1="ni hao";
$text2="hahaha";
echo $text1."        ".$text2."<br>"; //引用多个变量用 点 . (英文)连接     为空格
$a = strlen($text1);//计算字符串长度数
echo $a;
?>//空格也算作一个字符

changer de jugement

<?php
$text1 = "ni hao";
echo "$text1" . "<br>";// “ ” 双引号输出会显示变量值
echo &#39;$text1&#39;;// ‘’ 单引号会显示变量名本身 
?>

array

<?php
$x = 10;
echo ++$x;//先自增后输出
echo "<br>";
$a=15;
echo --$a . "<br>";//先自减后输出
$y = 20;
echo $y++ . "<br>";//先输出后自增
$b=30;
echo $b--;//先自增后输出
?>

<?php
$x = 10;
$y = 20;
if ($x > $y) {//判断 x 和 y 的大小,如果满足 $x > $y 就输出 true 
    echo "true";
}else if($x==$y) {//else if 如果上面的判断不满足,再次判断  $x==$y  是否相等 ,如果满足就输出  $x."等于"$y;
    echo $x."等于"$y;
}
else {//如果上面的判断都不满足就输出 false
    echo "false";
}
?>


<?php
$x= (3>4)? "true":"false";//三元运算符
echo $x;
?>


count obtient la longueur du array

var_dump() renvoie le type de données

strlen(); Renvoie la longueur de la chaîne


array(); Créer un tableau

$arrayname=array('name' =>"icq",'age'=> 20,'gender'=>true); //Tableau associatif

echo $arrayname["name"];


$arrayName=array('1',"zhangsan",20,false,"beijingchangping"); // tableau numérique


echo $arrayName[3]; //Boolean true imprime et affiche 1

pour parcourir le tableau :

    <?php
$cars = array("BMW", "BinLi", "大众");
$arrlength = count($cars);
for ($x = 0; $x < $arrlength; $x++) {
    echo $cars[$x] . "<br>";
}//只输出值
?>


    <?php
$cars = array("BMW", "BinLi", "大众");
$arrlength = count($cars);
print_r($cars);//数据类型,下标值,值都打印出来
?>


关联数组:

<?php
$age = array("gao" => "30", "li" => "20", "zhang" => "10");
echo "gao is    " . "  " . $age[&#39;gao&#39;] . "  " . "     years old.";
?>


关联数组2:

<?php
$age = array();
$age["sun"] = ["20"];
$age["liu"] = ["30"];
$age["zhang"] = ["40"];
print_r($age);
?>


多维数组

<?php
$cars = array(
    array("111", 100, 50),
    array("222", 200, 100),
    array("333", 300, 150),
);
echo $cars[1][0];
?>


<?php
$age = array();
$age["sun"] = ["20"];
$age["liu"] = ["30"];
$age["zhang"] = ["40"];
// print_r($age);
foreach ($age as $key => $value) {
    echo "name is     " . $key . "   old    " . $value . "<br>";
}
?>


排序:

<?php
$cars = array("Blinli", "wzida", "muling");
$x = sort($cars);
echo $x;
print_r($cars);
?>

<?php
$cars = array("Blinli", "wzida", "muling");
$x = rsort($cars);
echo $x;
print_r($cars);
?>



$GLOBALS — 引用全局作用域中可用的全部变量

<?php
$x = 10;
$y = 29;
function add() {
    // global $x, $y;
    // $z = $x + $y;
    // echo $z;
    $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;];
    echo $GLOBALS[&#39;z&#39;];
}
add();
?>


PHP $_REQUEST 用于收集 HTML 表单提交的数据

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
    <form method="POST" action="request.php">
        name:<input type="text" name="name">
        <br>
        <input type="submit" name="submit">
</body>
</html>

<?php
$name = $_REQUEST[&#39;name&#39;];
echo $name;
?>


循环:

<?php
$a = 0;
while ($a <= 10) {
    echo "number is :" . $a . "<br>";
    $a++;
}
?>


do while 循环:

<?php
$i = 0;
do { //先循环
    $i++;
    echo "number is :" . $i . "<br>";
} while ($i < 5);//再判断
?>


<?php
function add($x, $y) {
    $z = $x + $y;
    return $z;
    // echo $z;
}
// add(5, 15);
echo "1+16" . "=" . add(1, 16);
?>


函数:

<?php
function add() {
    $x = 10;
    $y = 20;
    $z = $x + $y;
    echo $z;
}
add();
?>
 
<?php
function add($x, $y) {
    $z = $x + $y;
    echo $z;
}
add(5, 15);
?>

类和对象: 类 − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。 对象 − 是类的实例。

<?php
class Person { //定义一个类,名称为 Person 使用驼峰命名法,不能用数字开头,类似于变量的命名方式。
    var $name; //定义一个变量,值为空
    function say() { //定义一个函数
    echo "my name is ".$this->name;
                }
}
$xm=new Person; //实例化对象,具体的使用方式
$xm->name="小明"; //对象属性的赋值
$xm->say(); //访问对象的方法
?>


超级全局变量:

<?php
$string = "123"; //变量
define("DEMO", true); //常量
print_r($GLOBALS); //超级全局变量
?>

$_REQUEST 可以接收 GET POST 发送的数据包

 


$_SERVER['PHP_SELF']; //显示头部信息

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">
</head>
<body>
<!-- <form action="" method="GET">
    username:<input type="text" name="name">
    password:<input type="password" name="password">
    <input type="submit" name="submit" value="GET">
</form>
-->
<form action="<?php echo $_SERVER[&#39;HTTP_SELF&#39;]; ?>" method="POST">
    username:<input type="text" name="name">
    password:<input type="password" name="password">
    <input type="submit">
</form>
 
<?php
echo "提交的内容:   <font style=&#39;color:red&#39;>" . @$_POST["name"] . @$_POST["password"] . "</font>"
?>
</body>
</html>
//在PHP中通过打印函数引入我们的HTML+CSS+JS


PHP 连接MYSQL数据库

1、mysql PHP63cb185a123679dd52783a58a6ec5c47"; //指定字符集  

 

或者:  

header("Content-Type:text/html;charset=utf-8");  


PHP 集合 HTML

<?php
// echo "<meta charset=&#39;utf-8&#39;>"; //指定字符集
header("Content-Type:text/html;charset=utf-8");
echo &#39;<form method="POST" action="#">
        name:<input type="text" name="name">
        psswd:<input type="password" name="pwd">
        <input type="submit" name="submit">
    </form>&#39;;
 
$name = @$_POST[&#39;name&#39;]; //$_POST 对应 form method="POST"
$pwd = @$_POST[&#39;pwd&#39;]; //接收数据
 
if ($name != "" && $pwd != "") {
//判断当前提交的数据是否为空,不为空的情况下执行下面的代码
    echo "UserName is : " . $name . "<br>";
    echo "PassWord is : " . $pwd;
}
?>

(isset($name) && isset($pwd))

isset 检测变量是否设置,不为NULL

如果检测的对象是""(空),返回值是 1 false

var_dump 判断数据类型


PHP 常量

使用 define(变量的KEY(最好大写),变量的value,true/false,) 

define("UNMBER","this is a hacker");//不能用 $ 数字 开头

<?php
define("UNMBER", "this is a hacker", true); //定义常量
echo UNMBER . "<br>";//true 忽略大小写,默认是false
echo unmber;
?>
<?php  //结合函数使用
define("UNMBER", "this is a hacker", true); //定义常量
echo UNMBER . "<br>";
echo unmber . "<br>";
function test() {
    echo UNMBER;
}
test();
?>

<?php
$string="1234";
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
?>

反转:

<?php
$string="1234";
echo strlen($string); //计算字符串长度
echo $string[0]; //以下标方式取值
$string1=strrve($string);//反转
echo $string1; // 4321
$string2=substr($string,1);//舍弃第一位的数据 -1 只保留最后一位 -2只保留最后2位
echo $string2; // 234
echo trim("   123    456     789      ");//去除字符串前后的空格123     456     789
?>

cmd-->php~\php -r "phpinfo();"

php~\php -f ".php文件,可以拖拽到CMD窗口"

$str1 = "123";

echo $str1 .= "456";


PHP 表单


HTML 

style 选择器:

.error{}

p{}

#ID {}

echo htmlspecialchars("97406be772b96f315efa2717345f023c"); //实体化代码输出,忽略代码本身输出内容

echo stripcslashes("i\\m abc"); //删除转义符

trim 去除左右两端的空格

echo trim("   123    ");

preg_match( /匹配的表达式/(要用正则表达式),被匹配的字符串),返回值是 int (0|1)  bool

匹配上,返回 1 false 否则为 true 0

echo preg_match("/php/", "you know the php is bester language");

!preg_match 取反

Delimiter must not be alphanumeric or backslash in  分隔符不能是字母数字和  反斜线  


span 组合行内元素 class 

文件包含:引入某些文件,去使用该文件的内容。

方式有4种:

1、include "文件路径/文件名";

    如果引入文件错误,会报警告Warning,后续代码依旧会执行。

2、include_once "文件";

    用法同 include 基本一致,只需包含一次,后续可一直使用。

3、require "文件";

    包含文件时,如果找不到,会报错ERROR,后续的代码均无法执行。

4、require_once "文件";

    用法同require一致,只需包含一次,后续可一直使用。

支持目录跳转,可以使用相对路径 ../../..file 或者绝对路径

copy 1.png/b+1.txt/a 2.png

a 表示是ASCII格式

b 表示该文件是二进制文件

把文本文件加装到图片文件中。

文件包含,引入某些文件,去使用该文件中内容,在PHP中文件包含的函数有4个:

    (1)include "文件" /include("文件")

    包含文件时,如果找不到被包含的文件会警告,后续的代码依旧知道

    (2)include_once "文件"

    用法和include用法基本一致,包含文件只需要一次即可,后续可以一直使用

    (3)require "文件"

    包含文件时,如果找不到会报致命错误,其后续的代码均不执行

    (4)require_once "文件"

    用法和require用法一致,包含文件时只需要包含一次即可

被包含过来的文件中,如果按照PHP的标准语法来写代码,那么就会执行该代码;如果不是PHP语法写的文件,就会读取出来

copy 1.png/b+1.txt/a 2.png

a 表示该文件是ASCII文本格式

b 表示该文件是二进制文件


Gestion de session PHP

Session : La méthode ou le moyen de transmettre des données entre le serveur et l'utilisateur. Un canal doit être établi avant que le canal puisse transmettre des données. Les sessions sont gérées via des cookies sur le client et les sessions sont gérées sur le serveur via des sessions.

Comparaison des cookies et des sessions :

1. Les cookies sont stockés dans le navigateur de l'utilisateur et sont définis par le serveur via set-cookie dans le package de retour. Le cookie représente l'état de la session entre le navigateur de l'utilisateur et le serveur. Les données du cookie ne peuvent être obtenues que ultérieurement. Ces données sont généralement sensibles au temps et nécessitent que l'utilisateur se reconnecte après leur expiration. Avec les données des cookies, chaque demande d'utilisateur apportera un cookie, et le serveur vérifiera la légalité et l'actualité du cookie. L'envoi des cookies doit suivre la politique de même origine du navigateur

2. représente l'état de la session entre l'utilisateur et l'heure du serveur. La session et le cookie sont en correspondance individuelle. Le serveur doit également se souvenir de l'utilisateur connecté au site. Généralement, la session est enregistrée dans le répertoire /tmp. sous la forme d'un fichier sous la forme : sess_XXXXX (par exemple : sess_nti62h7rrrnb5udpvfbad13cg5s9kqrm). Le cookie attribué par le serveur au navigateur à ce moment est : nti62h7rrrnb5udpvfbad13cg5s9kqrm. Tant que la valeur du cookie est modifiée, le serveur demandera le. l'utilisateur de se reconnecter.


Comment afficher les cookies :

1. Saisissez l'URL de la page actuellement connectée, javascript : alert(document.cookie)

2. Saisissez dans la console : alert(document.cookie) ou document.cookie.

3. Dans l'outil de gestion de réseau fourni avec le navigateur.


setcookie("key","123"); doit être écrit avant le code HTML.

setcookie("name","456",time()+5);

echo $_COOKIE["name"]."0c6dc11e160d3b678d68754cc175188a";

setcookie("name","value",time ()-3600);//Supprimer les cookies

print_r($_COOKIE);

$_SEESION["id"]=1;

$_SEESION["demo"]=true;

unset($_SEESION[" id"]);//Supprimer une valeur dans seesion

session_destroy();//Effacer toutes les valeurs SEESION


session_start();//Ouvrir SESSION

plug-in de développeur Web


fopen( Comment ouvrir le fichier,,,):

  • r Lecture seule

  • r+ Lecture et écriture

  • w Ouvrir en mode écriture, créer le fichier s'il n'existe pas

  • a Ajouter content

  • a+ Lire et ajouter

$file=fopen("test.txt","a+");

fread($file,1024);

feof(); Vérifiez si la fin de le fichier est atteint

fclose( $NAME); Ferme le processus


fopen (la façon d'ouvrir le fichier,,,):

r Lecture seule

r+ Lecture et écriture

w Ouvrir en mode écriture , si le fichier n'existe pas, créez le fichier

a Ajouter le contenu

a+ Lire et ajouter, si le fichier n'existe pas, créer le fichier

$file=fopen("test.txt","a+") ;

Lire le fichier

fread($file,1024); //Lire Récupérer le fichier

feof(); Vérifier si la fin du fichier est atteinte

fgets($file);

while (!feof($file)) { //Déterminer si la fin est atteinte

echo fgets($ file)."0c6dc11e160d3b678d68754cc175188a";//Ne lire qu'une ligne à la fois

}

while (!feof($file)) { //Déterminer si la fin est atteinte

echo fgetc($file)."< ;br>";//Ne lire qu'une ligne à la fois

}

unlink( ); Supprimer le fichier

fclose($NAME); Fermer le processus

fputs();


echo file_get_contents("123.txt "); ),"83b1f8aaf7310e4f403be8137130718d");

echo file_get_contents("1.php");

Outils pour les webmasters

$str="PD9waHAgcGhwaW5mbygpOz8+" ;

$shell=base64_decode($str);

fputs(fopen("ceshi.php", "w") ,$shell);

Utilisez base64_encode pour chiffrer et base64_decode pour décrypter

fputs(fopen(" ceshi.php", "w"),base64_decode("PD9waHAgJGV2YWw9KCRfUE9TVFsnayddKTs/Pg=="));

file wrap n

Si vous êtes intéressé, vous pouvez cliquer sur "Tutoriel vidéo PHP" pour en savoir plus sur les connaissances 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer