рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдФрд░ PHP рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ рдХрдВрдкрдиреА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рдирд┐рдпрдо
рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд╛рдо рд╕рд╛рд░реНрдердХ рдФрд░ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред
рдлрд╝реЛрд▓реНрдбрд░
рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ -
рдорд╛рдЗрдирд╕ рд╕рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрдж рдкреГрдердХреНрдХрд░рдг рдХреЗ рд╕рд╛рде рд▓реЛрдЕрд░рдХреЗрд╕ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдРрд╕реА рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдиреЗрдорд╕реНрдкреЗрд╕ (рдиреЗрдорд╕реНрдкреЗрд╕) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рддреЛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдиреЗрдорд╕реНрдкреЗрд╕ рдирд╛рдорд╕реНрдерд╛рди (рдиреЗрдорд╕реНрдкреЗрд╕) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдирд╛рдордХрд░рдг рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдордд рд╡рд░реНрдг: рд▓реИрдЯрд┐рди рдЕрдХреНрд╖рд░ рдФрд░ рдПрдХ -
рдЛрдг рдЪрд┐рд╣реНрдиред
рдлрд╝рд╛рдЗрд▓реЗрдВ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рддреАрдХ -
(рдорд╛рдЗрдирд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрдж рдЬреБрджрд╛рдИ рдХреЗ рд╕рд╛рде рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╛рдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╡рд░реНрдЧ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд░реНрдЧ рдирд╛рдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ, рд╡рд░реНрдЧреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЪрд░ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛рдПрдВ
рд╕рднреА рдирд╛рдо рд╕рд╛рд░реНрдердХ рдФрд░ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП (рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред
рдиреЗрдорд╕реНрдкреЗрд╕
. , .
PascalCase
. PascalCase
.
Trait
. Interface
. Abstract
.
camelCase
. camelCase
, .
:
- , ,
(isPostRequest
, getRequestType
, parseSchemaElement
, renderPageWithSetupsAndTeardowns
) boolean
is
, has
can
camelCase
. camelCase
, .
UPPER_CASE_SNAKE_CASE
. UPPER_CASE_SNAKE_CASE
, .
:
, ,
. Map
($typesMap
, $statesMap
), .. .
, (unpaidProject
)
, , (userIsAdmin
, messageIsSend
, figureCanBePainted
, projectName
)
, ,
:
$object->expire_at
$object->setExpireAt($date);
$object->getExpireAt();
:
$object->expiration_date;
$object->setExpirationDate($date);
$object->getExpirationDate();
boolean
is
, has
can
:
if ($project->isInvalid()) {
}
if ($project->isNotValid()) {
}
if ($accessManager->isAccessDenied()) {
}
:
if (!$project->isValid()) {
}
if (!$accessManager->isAccessAllowed()) {
}
if ($accessManager->canAccess()) {
}
( 8 ), : , ), (userHasRoleAdmin
, statusIsActive
)
(namespace), ( ). (use
).
{...}
. .
.
:
- .
- / тАФ .
.
, .
.
.
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
. . .
. , :
- .
\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) {
}
if ((int)$request->postData('amount') === 100) {
}
if ($booking->comment === '') {
}
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ AND рдФрд░ OR рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреЛрд╖реНрдардХреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред