?? 2015? ???? ?? PHP? ??? ??????. ???? CodeIgniter 3? Laravel 5.1? ???????. ?? ?? Laravel? ?? ??? ???????? ?? ??? ?? ???? ????. ?? ?? ?? PHP ????? ????? PHPUnit? ?? ???? ?? ??? ????? ?????. ??? 2021? ???? ????? ??? ??? ?????. ?? PHP ? Laravel ?????? ?? ???? ??? ??? ????/???? ??? Laravel? ????? Nuno Maduro? ??????.
Pest? ???? PHPUnit?? ???? ? ??? ??? ??? ???? ???? ??? ???? ?????. ??? Laravel ????? ????? Pest? ???? ??? ?????. Spatie, Livewire, Filament ?? ?? Laravel ????/???? Pest? ?????. ??? ??? ??? ??? ??? ???? ? PHPUnit?? ???? ??? ????. ??? ??? ?? ? ???. ?? ???? ???? ??? ????.
? ?? ??
?? ??? ?? Pest? ???? ? ?? PHP ????? ????.
mkdir ~/Herd/lerning-pest cd ~/Herd/learning-pest composer require pestphp/pest --dev --with-all-dependencies ./vendor/bin/pest --init
???? ??? PHPUnit? ?? ?????. ?? ?? ???? ??? ???????. ??? ??? ?? ??? ?????.
<?php // tests/Unit/ExampleTest.php test('example', function () { expect(true)->toBeTrue(); });
?? ???? ??? ???? ??? ??? ? ?? Closure? ???? ?? ?? ????. ??? ??? PHPUnit?? ??? ?? ??? ? ????.
<?php // tests/Unit/ExampleTest.php class ExampleTest extends \PHPUnit\Framework\TestCase { public function test_example() { $this->assertTrue(true); } }
Pest ??? ??? Ruby? Rspec ? Jest?? ??? ???? ???, ? ??????. ??? ?? ???? ?? ??? ??. ???? ??? ??? ??? ???? ???? ????.
???? ??? ? ???? ??? ??? ???. PHPUnit?? ?? ??? ??? ? ???.
??
?? PHPUnit?? ?? ?? ??? ??????.
$this->assertSame($expected, $actual); $this->assertTrue($condition); $this->assertFalse($condition); $this->assertNull($actual); $this->assertEmpty($array); $this->assertCount($count, $countable); $this->assertInstanceof($type, $instance);
Pest??? ?? ?? ??? ? ????.
expect($actual)->toBe($expected); expect($condition)->toBeTrue(); expect($condition)->toBeFalse(); expect($actual)->toBeNull(); expect($actual)->toBeEmpty(); expect($actual)->toBeInstanceOf($type);
?? ????? Pest ??? ??? ????, ??? API? ??? ??? ?? ??? ??? PHPUnit? ???? ????. ??? ?? PHPUnit ???? ???? Pest?? ??? ?? ?????. ???? ???? ? ????. ? ??? ??? ??? ????.
<?php test("all PHP files in LearningPest namespace must have strict mode enabled", function () { arch() ->expect('LearningPest') ->toUseStrictTypes(); }); test('all PHPUnit assertions are available for Pest', function () { $instance = new \stdClass(); $getInstance = function () use ($instance) { return $instance; }; $this->assertSame($instance, $getInstance()); $this->assertInstanceOf(stdClass::class, $instance); $this->assertTrue(1 < 2); $this->assertFalse(1 > 2); $value = null; $this->assertNull($value); $this->assertEmpty([]); $array = [1, 2, 3]; $this->assertCount(3, $array); });
?? ??
PHPUnit? ???? Pest?? ??? ? ?? ?? ??? ?? ????. ?? ????:
- PHPUnit?? ??? ???? ????. Pest?? ?????? ????.
- PHPUnit?? setUp, TearDown, setUpBeforeClass ? TearDownAfterClass? ????. ???? beforeEach, afterEach, beforeAll ? afterAll? ????.
- ? ? ?? ??? ??? ???? ????? ?????? ???? ? ????.
Mockery? ??? ???????? ??? ???? ????.
??? Pest?? ????, ???, ???? ???, ???? ? ??? ??? ?? ????. ???? ??? ? ???????.
??
- Pest? PHPUnit? ???? ?????? ?? PHP ? Laravel ?????? ?? ???? ?????.
- Pest? ???? ??? ?? ?? ???? ??? ? ??? CLI? ? ??? ??? ? ???????.
- ?? Pest? PHP ? Laravel ??????? ?? ??? ????????.
Pest? ???? ?? ?? PHP ????? ? ??? ???.
? ??? ??? PHP? Laravel? Pest? ??? ? ? ??????.? ?? ?????. ??? ??? 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
