-
??? ?? ??? ??? ???? ???? ??? ?? ?? ??? ???? ??? ????? ?????? PHP ??? ??? ?????. - ? ??? Younes Rafie? ??????. itepoint ???? ??? ?? ? ?? Sitepoint Peer Reviewers?? ?????!
-
???, ?? ? ???? ??? ?? ??? ???? ???? ?? ?? ?? ?????. Chris Hartjes? ?? ???? ???? ??? ??? ?? ??, ?? ???? ??? ?????. ??? ?? ??? ?? ???? ??? ???? ??? ????.
??? ??? ??? Nodejs ??? ?? ??? ?? ??? ??????!
? ????? ??? Github?? ?? ? ????. PHP 7.1? ???????.
???? ??
? ?? ??? ????? ???? PSR-4? ???? ? ??? (????/file.php ? Path/to/File.pre)? ???? ???? ?? ??? ?? ? ????. ??? Composer.json ??? ??? ??????.
composer require pre/short-closures
?? ?? ?? ??? ??? ?? ??? ?? ? ??? ???? ?? ???? ??????.
"autoload": { "psr-4": { "App\": "src" } }, "autoload-dev": { "psr-4": { "App\Tests\": "tests" } }
?? ????
??? ????? ????? ?? ?? ????? ??????.
<<> ?????,? ?? ???? ???? PHP ??? ?????. ??? ??? :
<<>
?? ?????
?? ?????
<...> ???? ??? ... ? ??>
<'s> ?? ?? ??? ????? ??? ??? : ? ??>
? ????? Symfony Finder (SRC? ???? ??? ????? ? ??)? ????. ??? ?? ?? ??? ????? ??????? ?? ???? ???? ????. ???? ?? ??? ?????. ResourceWatcher?? ??? ??, ?? ?? ?????? ???? ? ??? ??? ???? ????.
?? ?????
?? ?????
? ??? ???? ?? ?? ???? ????????. PHPUnit ????? ???/??? ???? ??. Tests/bootstrap.php : ? ??>? ?? ??? ????
namespace App;
use Closure;
class Session
{
private $user;
public function __construct(array $user)
{
$this->user = $user;
}
public function closureWithUser(Closure $closure)
{
return () => {
$closure($this->user);
};
}
}
?? ????
? ?? ??? ?? ??? ????? ?? ????. ?? ????? ??? ??? ????? ?? ??? ???? ?? ??? ????. ????? ? ??? ?? ??? ???? ??? ?? ??? ?? ??? ?????.
require_once __DIR__ . "/vendor/autoload.php";
$session = new App\Session(["id" => 1]);
$closure = ($user) => {
print "user: " . $user["id"] . PHP_EOL;
};
$closureWithUser = $session->closureWithUser($closure);
$closureWithUser();
<<>… ??? ? ??>
<<> PHP? ?? ??? ?????? ???? ?? ?? ?? ????. ?? ?? ?/**/*. php ? examples.php? .gitignore? ??????. require_once __DIR__ . "/vendor/autoload.php";
Pre\Plugin\process(__DIR__ . "/example.pre");
php loader.php
$closure = function ($user) {
print "user: " . $user["id"] . PHP_EOL;
};
??? src/blackbox.pre ?? ????
public function closureWithUser(Closure $closure)
{
return [$closure = $closure ?? null, "fn" => function () use (&$closure) {
$closure($this->user);
}]["fn"];
}
composer require pre/short-closures
"autoload": {
"psr-4": {
"App\": "src"
}
},
"autoload-dev": {
"psr-4": {
"App\Tests\": "tests"
}
}
?? ?????
?? ?????
? ??? BootStrap ???? ???? ?? ????? ??? ???? ?????. ??? ???? ???? ?? ???????.
namespace App;
use Closure;
class Session
{
private $user;
public function __construct(array $user)
{
$this->user = $user;
}
public function closureWithUser(Closure $closure)
{
return () => {
$closure($this->user);
};
}
}
require_once __DIR__ . "/vendor/autoload.php";
$session = new App\Session(["id" => 1]);
$closure = ($user) => {
print "user: " . $user["id"] . PHP_EOL;
};
$closureWithUser = $session->closureWithUser($closure);
$closureWithUser();
?? ???!
?? ?????
composer require pre/short-closures
?? ? ??> ?? ??? ??? ???? ??? ?? ?? ?? ??? ??? ????? ?? ? ????. ??? ??? ?? ??? ??? ???? ?? ??? ?? ?????. JavaScript ????? ???? ??? ? ???? ???? ?? ??? ?? ?? ? ? ????. ????!PHP (FAQ)? JavaScript ??? ??? ???? FAQ
? ??? ??????? ??? HTTP ?? ?? ?? ?? ?? ????? ??? ? ????. ???? ??? ??? ??????. PHP?? JavaScript ??? ??? ???? ???? ??? ??????
"autoload": { "psr-4": { "App\": "src" } }, "autoload-dev": { "psr-4": { "App\Tests\": "tests" } }
?, JavaScript ?? ??? PHP ??? ??? ? ??? ???? ????. PHP? ?? ? ???? JavaScript? ????? ? ?????. ?, ???? ?????? ???? ?? PHP ??? ???? ???? ???? ?? ? ? ??????? JavaScript ??? ?????. ??? JavaScript ?? ??? PHP ??? ??????? JavaScript ?? ?? PHP ??? ????? ??? ?? ??? ??? ? ????.
????? JavaScript? PHP ??? ??? ? ??? ???? ????. PHP? ?? ? ???? JavaScript? ????? ? ?????. ?, ???? ?????? ???? ?? PHP ??? ???? ???? ???? ?? ? ? ??????? JavaScript ??? ?????. ??? JavaScript?? PHP ??? ??????? JavaScript ?? ?? PHP ??? ????? ??? ?? ??? ??? ? ????. ?? AJAX? ???? ??????? ??? ???? ??? ? ??? ???????.
? ??? PHP?? JavaScript ???? ??? ???? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

PHP ?? ??? ?? ???? ?? ? ????? ??? ?????. 1. ?? ??? ??? ??? ??? ? ? ??? ??? ??? ?? ?? ??? ???? ???????. 2. ?? ??? ???? ???? ? ?? ????? ?? ?? ?? ??? ?????. 3. $ _get ? $ _post? ?? Hyperglobal ??? ?? ???? ?? ??? ? ??? ??? ??????? ???????. 4. ?? ?? ?? ???? ?? ?? ?? ??? ?????? ?? ??? ??? ?? ??? ???????. ??? ??? ????? ??? ??? ?? ???? ????? ? ??? ? ? ????.

PHP ?? ???? ???? ????? ?? ? ??? ???? ?? ?? ? ??? ???? ?? ??? ?????? ??? ??? ? ? ???????. 1. ??? ?? CSRF? ???? ?? ??? ??? ???? ?????? ??? ???? FINFO_FILE? ?? ?? MIME ??? ?????. 2. ??? ??? ??? ???? ??? ?? ??? ?? ? WEB ????? ??? ???? ??????. 3. PHP ?? ??? ?? ? ?? ???? NGINX/APACHE? ??? ????? ?? ???? ?????. 4. GD ?????? ??? ? ?? ???? ??? ?? ??? ?? ????.

PHP ?? ???? ? ?? ???? ??? ????. 1. // ?? #? ???? ? ?? ??? ???? // ???? ?? ????. 2. ?? /.../ ?? ?? ?? ??? ????? ?? ? ?? ??? ?? ? ? ????. 3. ?? ?? ?? / if () {} /? ?? ?? ??? ????? ??? ?? ?? ?? ??? ???? ????? ???? ??? ?? ???? ???? ??? ? ??? ??????.

Ageneratorinphpisamemory- ???? Way-Erate-Overgedatasetsetsbaluesoneatimeatimeatimeatimallatonce.1.generatorsuseTheyieldKeywordTocroadtOpvaluesondemand, RetingMemoryUsage.2

PHP ??? ???? ??? ??? ??? ????? ????. ??? ????? ?? ???? ??? "?? ? ?"??? "?"? ???????. 1. ??? ? ??? ??? DocBlock (/*/)? ?? ?? ??? ???? ??? ? ?? ???? ??????. 2. JS ??? ???? ?? ???? ??? ?? ??? ??? ?????. 3. ??? ?? ?? ?? ??? ???? ????? ????? ???? ?? ????? ???? ? ??????. 4. Todo ? Fixme? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1. ??, downloadandinstallxAmpp, selectComponents, startApache ? placefilesinhtdocs.2

PHP??? ???? ??? ?? ?? ????? ???? ??? ?? ??? ??? ?? ? ??? ??? ???? ?????. ???? 0?? ???? ?? ??? ???? ? ?? ???? ?? ?? ? ? ????. MB_SUBSTR? ?? ??? ??? ???????. ? : $ str = "hello"; echo $ str [0]; ?? H; ??? MB_SUBSTR ($ str, 1,1)? ?? ??? ??? ??? ??????. ?? ???????? ???? ??? ???? ?? ???? ?? ?? ???? ?????? ??? ????? ?? ??? ?? ??? ???? ???? ?? ????.

tolearnpheffectical, startBysetTupaloCalserErverEnmentUsingToolslikexamppandacodeeditor -likevscode.1) installxamppforapache, mysql, andphp.2) useacodeeditorforsyntaxsupport.3)) 3) testimplephpfile.next, withpluclucincludechlucincluclucludechluclucled
