PHP рдХреЛрдб рд╕реНрдЯрд╛рдЗрд▓ рдХрдиреНрд╡реЗрдВрд╢рди

рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдФрд░ PHP рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдХрдВрдкрдиреА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рдирд┐рдпрдо


рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд╛рдо рд╕рд╛рд░реНрдердХ рдФрд░ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред


рдлрд╝реЛрд▓реНрдбрд░


рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ -рдорд╛рдЗрдирд╕ рд╕рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрдж рдкреГрдердХреНрдХрд░рдг рдХреЗ рд╕рд╛рде рд▓реЛрдЕрд░рдХреЗрд╕ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред


рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдРрд╕реА рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдиреЗрдорд╕реНрдкреЗрд╕ (рдиреЗрдорд╕реНрдкреЗрд╕) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рддреЛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдиреЗрдорд╕реНрдкреЗрд╕ рдирд╛рдорд╕реНрдерд╛рди (рдиреЗрдорд╕реНрдкреЗрд╕) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред


рдирд╛рдордХрд░рдг рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдордд рд╡рд░реНрдг: рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░ рдФрд░ рдПрдХ -рдЛрдг рдЪрд┐рд╣реНрдиред


рдлрд╝рд╛рдЗрд▓реЗрдВ


рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рддреАрдХ -(рдорд╛рдЗрдирд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрдж рдЬреБрджрд╛рдИ рдХреЗ рд╕рд╛рде рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред


рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╡рд░реНрдЧ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд░реНрдЧ рдирд╛рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ, рд╡рд░реНрдЧреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЪрд░ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдПрдВ


рд╕рднреА рдирд╛рдо рд╕рд╛рд░реНрдердХ рдФрд░ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред


рдиреЗрдорд╕реНрдкреЗрд╕


. , .



PascalCase. PascalCase .


Trait. Interface. Abstract.



camelCase. camelCase , .


:


  1. , ,
    (isPostRequest, getRequestType, parseSchemaElement, renderPageWithSetupsAndTeardowns)
  2. boolean is, has can


camelCase. camelCase , .


UPPER_CASE_SNAKE_CASE. UPPER_CASE_SNAKE_CASE , .


:



  1. , ,



  2. . Map ($typesMap, $statesMap), .. .


  3. , (unpaidProject)


  4. , , (userIsAdmin, messageIsSend, figureCanBePainted, projectName)


  5. , ,


    :


    $object->expire_at
    $object->setExpireAt($date);
    $object->getExpireAt();

    :


    $object->expiration_date;
    $object->setExpirationDate($date);
    $object->getExpirationDate();

  6. boolean is, has can



  7. :


    if ($project->isInvalid()) {
        // ...
    }
    if ($project->isNotValid()) {
        // ...
    }
    if ($accessManager->isAccessDenied()) {
        // ...
    }

    :


    if (!$project->isValid()) {
        // ...
    }
    if (!$accessManager->isAccessAllowed()) {
        // ...
    }
    if ($accessManager->canAccess()) {
        // ...
    }

  8. ( 8 ), : , ), (userHasRoleAdmin, statusIsActive)




(namespace), ( ). (use).
{...}. .


.


:


  1. .
  2. / тАФ .

.


, .


.


.


class InterfaceType {

    private $property = 'myProp';

    public function getProperty():string {
        return $this->property;
    }    
}

(return) , .


, () .


:


 if (IS_REGISTRATOR() && (($params.status === 'W' || $params.status === 'D' || $params.status === 'A') && $params.remark && (($params.subres_level == 0 && ($user_info->selected_title->tid == $params.boss || $user_info->selected_title->tid == $doc_signer_tid || !$params.usertid) || $params.subres_level > 0 && $user_info->selected_title->tid == $params.usertid))) { ... }

:


$docIsInWorkAcceptOrDraft = ...;
$bossHasSignerPriviledge = ...;
$userCanSign = ...;

if ($docIsInWorkAcceptOrDraft && $bossHasSignerPriviledge && $userCanSign) {
  // ...
}


( ""). , , .


, PHPDoc. - .


//, /*...*/.


, , .



, , declare(strict_types=1);


/ null. 0 .


function sendEmail(string $title, string $message = null, string $date = null): void {
    // ...
}

//    
$object->sendEmail('Title', null, '2017-01-01');

//    
$object->sendEmail('Title', '', '2017-01-01');

, ( тАФ ).


. array_key_exists, isset. . .


. , :


  1. . \n, \r, \t ..


, (: type). PHPDoc. , c check validate, .


private. , protected. , public.


null, Null object, , (: ).


json тАФ return true, return ['success' => ['message' => '.....']] ['error' => ['message' => '.....']]. message , .


.


. . , .


boolean . boolean (===), .


:


if ($user) {
    // ...
}
if ($request->postData('amount') == 100) {
    // ...
}
if (!$request->postData('amount')) {
    // ...
}

:


if ($user === null) { // $user   object
    // ...
}
if ((int)$request->postData('amount') === 100) {
    // ...
}
if ($booking->comment === '') {
    // ...
} 

рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ AND рдФрд░ OR рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреЛрд╖реНрдардХреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

Source: https://habr.com/ru/post/undefined/


All Articles