Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php

PHP ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Π½Π° Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ) Π² PHP.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² PHP

Π’ Π²Π°ΡˆΠΈΡ… скриптах ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π°, это ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ. Π§Π°Ρ‰Π΅ всСго, смотрим, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

ВСрнСмся ΠΊ нашСй Ρ‚Π΅ΠΌΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

МоТСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° массив, Π½Π° Ρ‚ΠΈΠΏ Π±ΡƒΠ»Π΅Π²ΠΎ (true ΠΈΠ»ΠΈ false), число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ число, строку ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² Π²Π°ΡˆΠΈΡ… скриптах. НапримСр, стоит Π·Π°Π΄Π°Ρ‡Π°: Ссли ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Ρ†Π΅Π»ΠΎΠ΅ число, Ρ‚ΠΎ ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ, Π° Ссли с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Ρ‚ΠΎ округляСм Π² ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ сторону Π½Π° Β«ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ-Ρ‚ΠΎΒ» Π·Π½Π°ΠΊΠΎΠ².

Π’Π°ΠΊΠΆΠ΅, Π±Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ число, Ρ‚Π°ΠΊ ΠΈ массив, ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹.

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ для NULL:

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π²ΠΎΡ‚ простыС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ наш ΠΊΠΎΠ΄ 🙂

Π°Π²Ρ‚ΠΎΡ€: Dmitriy

Π—Π°Π½ΠΈΠΌΠ°ΡŽΡΡŒ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ с 2011 Π³ΠΎΠ΄Π°. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΌΠΎΠΈΡ… Ρ€Π°Π±ΠΎΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‡ΡƒΡ‚ΡŒ большС ΠΎΠ±ΠΎ ΠΌΠ½Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π° forwww.ru.

— Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сайтов Π½Π° 1Π‘-Битрикс любой слоТности
— Вёрстка ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Figma, Photoshop, Zeplin
— ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° БитриксС
— Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° для сайта
— ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Π΄Π°Π½Π½Ρ‹Ρ…
— Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML, YML, XLS, XLSX, CSV, JSON
— Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ API со сторонними сСрвисами
ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ°

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ instanceof ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ экзСмпляром ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ИспользованиС instanceof с классами

class NotMyClass
<
>
$a = new MyClass ;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ instanceof Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для опрСдСлСния, наслСдуСт Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ классу:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ИспользованиС instanceof с наслСдуСмыми классами

class MyClass extends ParentClass
<
>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ нСпринадлСТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ классу, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ not.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 ИспользованиС instanceof для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ являСтся экзСмпляром класса

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Ну ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†, instanceof ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ использован для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ интСрфСйса:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #4 ИспользованиС instanceof для класса

class MyClass implements MyInterface
<
>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π₯отя instanceof ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с прямо ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #5 ИспользованиС instanceof с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ

class MyClass implements MyInterface
<
>

$a = new MyClass ;
$b = new MyClass ;
$c = ‘MyClass’ ;
$d = ‘NotMyClass’ ;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #6 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° instanceof для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π•ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΎΡΡ‚Π΅Ρ€Π΅Π³Π°Ρ‚ΡŒΡΡ. Π”ΠΎ вСрсии PHP 5.1.0, instanceof Π²Ρ‹Π·Ρ‹Π²Π°Π» __autoload() Ссли имя класса Π½Π΅ сущСствовало. Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, Ссли класс Π½Π΅ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½, происходила Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Π°Ρ ошибка. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ динамичСской ссылки Π½Π° класс ΠΈΠ»ΠΈ использования строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΈΠΌΠ΅Π½Π΅ΠΌ класса:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #7 ИзбСТаниС поиска класса ΠΈ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок с instanceof Π² PHP 5.0

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php

Reg.ru: Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈ хостинг

ΠšΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΉ рСгистратор ΠΈ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π² России.

Π‘ΠΎΠ»Π΅Π΅ 2 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π½Π° обслуТивании.

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡ‡Ρ‚Π° для Π΄ΠΎΠΌΠ΅Π½Π°, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для бизнСса.

Π‘ΠΎΠ»Π΅Π΅ 700 тыс. ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΡƒΠΆΠ΅ сдСлали свой Π²Ρ‹Π±ΠΎΡ€.

БСсплатный ΠšΡƒΡ€Ρ «ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° HTML5 ΠΈ CSS3»

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ бСсплатно ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ видСокурс

ΠΏΠΎ основам Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрстки

Π½Π° HTML5 ΠΈ CSS3 с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Bootstrap: быстрая адаптивная вёрстка

ΠŸΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ видСокурс ΠΏΠΎ основам Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрстки Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Bootstrap.

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ просто, быстро ΠΈ качСствСнно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт.

ВСрстайтС Π½Π° Π·Π°ΠΊΠ°Π· ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ дСньги.

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ для создания PHP-сайтов?

ΠžΡ‚Π²Π΅Ρ‚ здСсь. Волько самоС Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ качСствСнныС сайты Π½Π° PHP всСго Π·Π° 2 часа ΠΈ 27 ΠΌΠΈΠ½ΡƒΡ‚!

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ свой сайт Π·Π° 3 часа ΠΈ 30 ΠΌΠΈΠ½ΡƒΡ‚.

ПослС просмотра Π΄Π°Π½Π½ΠΎΠ³ΠΎ видСокурса Ρƒ Вас Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ использованию сайт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π’Ρ‹ сдСлали сами.

Π’Π°ΠΌ останСтся лишь Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ (ΠΏΠΎ ТСланию).

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы HTML ΠΈ CSS ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 4 часа.

ПослС просмотра Π΄Π°Π½Π½ΠΎΠ³ΠΎ видСокурса Π’Ρ‹ пСрСстанСтС с уТасом ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° HTML-ΠΊΠΎΠ΄ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои ΠΏΠ΅Ρ€Π²Ρ‹Π΅ HTML-страницы ΠΈ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS.

БСсплатный курс «Π‘Π°ΠΉΡ‚ Π½Π° WordPress»

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ CMS WordPress?

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΈ вСрсткС сайта Π½Π° WordPress.

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π΅ΠΌΠ°ΠΌΠΈ ΠΈ Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚.

БСсплатный видСокурс ΠΏΠΎ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π° сайта, Π΅Π³ΠΎ вСрсткС ΠΈ установкС Π½Π° CMS WordPress!

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒΡΡ?

ПослС прохоТдСния видСокурса Π’Ρ‹ освоитС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JavaScript.

Π Π°Π·Π²Π΅ΡŽΡ‚ΡΡ ΠΌΠΈΡ„Ρ‹ ΠΎ слоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим языком, ΠΈ Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ JavaScript Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

*НавСдитС курсор ΠΌΡ‹ΡˆΠΈ для приостановки ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° PHP

Π’ΠΈΠΏΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠΌ способом ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² сцСнариях.

НапримСр, строковой Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Ρ‚Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Класс Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСт Ρ‚ΠΈΠΏ ΠΈΠΌΠ΅Π½ΠΈ сСбя, Π½ΠΎ Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ShopProduct относится ΠΊ элСмСнтарному Ρ‚ΠΈΠΏΡƒ object, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ класса ShopProduct. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΎΠ±Π΅ разновидности Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса.

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π±Ρ‹Π» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Но это ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ прСимущСство, ΠΈ нСдостаток.

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°, Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ дСйствий. Благодаря этому ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΈΠ±ΠΊΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΈΡΠΏΠΎΡΠ°Π±Π»ΠΈΠ²Π°Ρ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΡΡ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°ΠΌ.

PHP являСтся слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ языком. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ нСобходимости ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ пСрСмСнная. Π’Π°ΠΊ, Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ области видимости пСрСмСнная $number ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2, Ρ‚Π°ΠΊ ΠΈ строку «two» («Π΄Π²Π°»).

Π’ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C ΠΈΠ»ΠΈ Java, Π²Ρ‹ обязаны ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² PHP Π½Π΅Ρ‚ понятия Ρ‚ΠΈΠΏΠ°. КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠΌΠ΅Π΅Ρ‚ свой Ρ‚ΠΈΠΏ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² языка PHP.

НиТС пСрСчислСны элСмСнтарныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² PHP, ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. КаТдой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСдаСтся пСрСмСнная ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true («ΠΈΡΡ‚ΠΈΠ½Π°»), Ссли Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ относится ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ.

— is_bool(); Boolean; Одно ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: true ΠΈΠ»ΠΈ false (истина ΠΈΠ»ΠΈ лоТь)
— is_integer(); Integer; Π¦Π΅Π»ΠΎΠ΅ число
— is_double(); Double; Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (дСсятичноС число)
— is_string(); String; Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅
— is_object(); Object; ΠžΠ±ΡŠΠ΅ΠΊΡ‚
— is_array(); Array; Массив
— is_resource(); Resource; ДСскриптор, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с внСшними рСсурсами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹
— is_null(); Null; НСинициализированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ особСнно Π²Π°ΠΆΠ½Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования элСмСнтарных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· XML-Ρ„Π°ΠΉΠ»Π°. XML-элСмСнт Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, слСдуСт Π»ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ IP-адрСса Π² Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ XML-ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ строку «false» ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΅Π΅ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ outputAddresses(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ IP-адрСсов. Π’ΠΎΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° outputAddresses().

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ outputAddresses() цикличСски ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ массиву IP-адрСсов ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ элСмСнты ΠΎΠ΄ΠΈΠ½ Π·Π° ΠΎΠ΄Π½ΠΈΠΌ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° $resolve Ρ€Π°Π²Π½ΠΎ true, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΡ€ΠΎΠΌΠ΅ IP-адрСсов, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ этот ΠΌΠ΅Ρ‚ΠΎΠ΄.

Но этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ‚ΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅. ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ строку «false» ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ outputAddresses(), ΠΌΡ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π±ΡƒΠ»Π΅Π²Ρƒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true (истина) ΠΈΠ»ΠΈ false (лоТь).

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° строка «false» Π½Π° самом Π΄Π΅Π»Π΅ прСвратится Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true. ВсС Π΄Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ PHP «Π·Π°Π±ΠΎΡ‚Π»ΠΈΠ²ΠΎ» ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ нСпустоС строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ эту ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, сущСствуСт ряд ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ².

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ outputAddresses() ΠΌΠ΅Π½Π΅Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ распознавал строку ΠΈ примСнял Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС ΠΏΡ€Π°Π²ΠΈΠ»Π° для прСобразования Π΅Π΅ Π² Π±ΡƒΠ»Π΅Π² эквивалСнт.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ outputAddresses() Ρ‚Π°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ, ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ с Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ инструкциями ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ $resolve Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΡƒΠ»Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΠΎ сути, Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ программисту ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструкции ΠΈΠ»ΠΈ ΠΏΠ΅Π½ΡΡ‚ΡŒ Π½Π° сСбя.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ outputAddresses() строгим Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° $resolve.

На самом Π΄Π΅Π»Π΅ стратСгии Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² зависят ΠΎΡ‚ стСпСни ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΡΡ‚ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок.

PHP сам ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ элСмСнтарных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² зависимости ΠΎΡ‚ контСкста.

НапримСр, Ссли числа Π² строках ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² матСматичСских выраТСниях, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² эквивалСнты Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ «ΡΠ½ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅Π½» ΠΊ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Но Ссли Π²Ρ‹ рассчитываСтС, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ массивом, Ρ‚ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠ²ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° «Π½Π΅ΠΌΠ°ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ» значСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ массивов PHP Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ряд ошибок Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π²ΠΏΠΎΠ»Π½Π΅ вСроятно, Π²Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ свой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π΅Ρ‡Ρ‚ΠΎ срСднСС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ°, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄ΠΎΠΉ Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ, ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ способ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Ρ‚Π΅).

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ послСдствия Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² окаТутся Π½Π΅ Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ оТидалось.

НС стоит Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ программисты клиСнтского ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ваши мысли. И Π²Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π² создаваСмых Π²Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.

УточнСния Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠœΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ пСрСмСнная-Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой элСмСнтарный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΅Π΅ Ρ‚ΠΈΠΏ Π½Π΅ оговариваСтся, поэтому ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ любого Ρ‚ΠΈΠΏΠ°.

Вакая Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, с ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΏΠΎΠ»Π΅Π·Π½Π°, Π½ΠΎ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° ShopProduct.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот класс ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ΠΎΠ³Π΄Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

Класс ShopProductWriter содСрТит СдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄, write(). ΠœΠ΅Ρ‚ΠΎΠ΄Ρƒ write() пСрСдаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ShopProduct. Π’ Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ послСднСго для построСния ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ строки описания Ρ‚ΠΎΠ²Π°Ρ€Π°.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, $shopProduct, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ программисту ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ write() Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° shopProduct. Но это Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ элСмСнтарный Ρ‚ΠΈΠΏ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ $write() ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ± этом Π½Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° обращСния ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ $shopProduct.

К Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² нашСм ΠΊΠΎΠ΄Π΅ ΡƒΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ дСйствия Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ настоящий ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ShopProduct.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ описанной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сущСствуСт такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… класса. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, просто помСститС ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ имя класса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ write() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ write() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ $shopProduct, содСрТащий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° shopProduct. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ write() для Ρ‚Π°ΠΊΠΎΠ³ΠΎ «Ρ…ΠΈΡ‚Ρ€ΠΎΠ³ΠΎ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ write() содСрТит ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° класса, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Wrong ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ нСустранимой ошибкС.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΅ΠΌΡƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, использованиС ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΉ, Π΄Π΅Π»Π°Π΅Ρ‚ запись ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ понятнСС для программиста клиСнтского ΠΊΠΎΠ΄Π°.

Он сразу ΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ трСбования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° write(). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ошибок, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ нСсоотвСтствия Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ благодаря ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΡŽ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ строго.

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ класса сообщит ΠΎΠ± ошибкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ. И Ссли Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° write() находится Π³Π΄Π΅-Ρ‚ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² условном ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Новый Π“ΠΎΠ΄, Ρ‚ΠΎ, Ссли Π²Ρ‹ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ ΠΊΠΎΠ΄, Π²Π°ΠΌ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΈ.

УточнСния нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ опрСдСлСния Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² элСмСнтарных Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ строки ΠΈ Ρ†Π΅Π»Ρ‹Π΅ значСния. Для этой Ρ†Π΅Π»ΠΈ Π² Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ is_int(). Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ являСтся массивом.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° уточнСния для массивов Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² PHP с вСрсии 5.1. Π’ дальнСйшСм Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… стандартных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… с уточнСниями. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π±Ρ‹Π» любого ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π»ΠΈΠ±ΠΎ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ обсТдали Ρ‚ΠΈΠΏΡ‹ ΠΈ классы Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ это синонимы. Но ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠΎΡ€Π΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅. ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ класса Π²Ρ‹ опрСдСляСтС Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Ρ‚ΠΈΠΏ, Π½ΠΎ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ сСмСйство классов.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ классы ΠΌΠΎΠΆΠ½ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, называСтся наслСдованиСм. О наслСдовании ΠΌΡ‹ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ «ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² PHP».

P.S. Π’Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΠ΅Ρ‚Π΅ΡΡŒ PHP ΠΈ ООП:) ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ-ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ аспСктам сайтостроСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PHP, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° бСсплатный курс ΠΏΠΎ созданию своСй CMS-систСмы Π½Π° PHP с нуля с использованиСм ООП:

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΡΡ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ?
ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π² PHP

Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ·Π²Π½Π΅, принято ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ trustno1. Π­Ρ‚ΠΎ справСдливо Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… нСпосрСдствСнно ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ ΠΈ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ клиСнтский ΠΊΠΎΠ΄.

PHP 7 оснащён Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ систСмой контроля Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классы, Π½ΠΎ ΠΈ скаляры. Однако Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ касаСтся слоТных структур Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось β€” для Π½ΠΈΡ… сущСствуСт СдинствСнный Ρ‚ΠΈΠΏ array, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² PHP ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всё, Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π― надСюсь, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ вСрсии PHP исправят ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. А Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с сообщСством Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ своими Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π² этой области:

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π€ΠΎΡ‚ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php

UPD 02.12.2018 β€” ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Π±Ρ‹Π»Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° для соотвСтствия ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ вСрсиям Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Fulltype

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° нСпосрСдствСнно для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ собствСнный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ArsMnemonica\Fulltype\fulltype::define:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΠ½ΡΡ‚Π°Π½Ρ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ собствСнный класс, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ интСрфСйс ArsMnemonica\Fulltype\TypeInterface, Ρ‚Π°ΠΊ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС.

Для обращСния ΠΊ Ρ‚ΠΈΠΏΡƒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° функция ArsMnemonica\Fulltype\fulltype::type:

Она ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° имя Ρ‚ΠΈΠΏΠ° (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ aName Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ define), ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° соотвСтствиС Ρ‚ΠΈΠΏΡƒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ArsMnemonica\Fulltype\fulltype::is:

ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ validate самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ°:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° соотвСтствиС Ρ‚ΠΈΠΏΡƒ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ArsMnemonica\Fulltype\fulltype::assert:

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ встроСнныС Ρ‚ΠΈΠΏΡ‹ (пространство ΠΈΠΌΡ‘Π½ ArsMnemonica\Fulltype ΠΈ класс fulltype):

ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true/false.

Π’ΠΈΠΏ NumericType соотвСтствуСт PHP-Ρ‚ΠΈΠΏΠ°ΠΌ int ΠΈ float.

Π―Π²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Π΅Π³ΠΎ наслСдником Ρ‚ΠΈΠΏ IntegerType соотвСтствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ PHP-Ρ‚ΠΈΠΏΡƒ int.

Оба Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ значСниями.

Π’ΠΈΠΏ CardinalType, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ наслСдником IntType, соотвСтствуСт количСствСнным числам (Ρ†Π΅Π»Ρ‹ΠΌ числам Π±Π΅Π· Π·Π½Π°ΠΊΠ°) β€” Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся 0, Π° максимальноС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎ максимальной Π΄Π»ΠΈΠ½Π΅.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ мноТСство допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса (интСрфСйсы Ρ‚Π°ΠΊ ΠΆΠ΅ допустимы).

ДополняСт мноТСство допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ null.

ΠœΠ°ΡΡΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово array Π½Π΅ допустимо Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎ максимальной Π΄Π»ΠΈΠ½Π΅.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:
β€” массивом;
β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ интСрфСйсы ArrayAccess, Countable ΠΈ Traversable (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ objective).

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ допустимый Ρ‚ΠΈΠΏ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ of(TypeInterface), Π° для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ by(TypeInterface). Если Π²Ρ‹ Π·Π°Π΄Π°Π΄ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ PHP-Ρ‚ΠΈΠΏΠΎΠ² int ΠΈ string, массивный Ρ‚ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ массивов PHP Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ соотвСтствия ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ соотвСтствия ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния строго ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ².

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ соотвСтствия ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния всСм Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹:

Π’ΠΈΠΏ-ΠΊΠ»ΡŽΡ‡, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния Π±Ρ‹Ρ‚ΡŒ массивом, содСрТащим строковый ΠΊΠ»ΡŽΡ‡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π’ΠΈΠΏ-смСщСниС, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния Π±Ρ‹Ρ‚ΡŒ массивом ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΌ интСрфСйс ArrayAccess, содСрТащим строковоС смСщСниС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π’ΠΈΠΏ-свойство, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ значСния Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, содСрТащим свойство ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Если для ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ optional, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° допускаСт отсутствиС Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°/смСщСния/свойства.

Для наглядной дСмонстрации Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ провСряСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ описания элСмСнта ΠΊΠ½ΠΈΠΆΠ½ΠΎΠΉ сСрии:

А Ρ‚Π°ΠΊΠΎΠΉ Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π₯отя всё это β€” Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни Π½Π°Π±ΠΎΡ€ вСлосипСдов, Π½ΠΎ я надСюсь, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. typedef ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² скрипта вмСстС с ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ json_decode. А ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ для ограничСния Ρ‚ΠΈΠΏΠΎΠ² массивов Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… инструмСнтов.

МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅ΠΎΠ±Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ΅, Π½ΠΎ ΠΏΠΎΠΊΠ° я Π½Π΅ Π²ΠΈΠΆΡƒ Π² этом острой нСобходимости.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php. Π€ΠΎΡ‚ΠΎ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php

Π’Π°ΠΊ ΠΆΠ΅ я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ Π²Ρ‹ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π² этих нСслоТных инструмСнтах ΠΈΠ»ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ silver-bullet, ΠΏΡ€ΠΎΡΠ²ΠΈΡΡ‚Π΅Π²ΡˆΠΈΠΉ ΠΌΠΈΠΌΠΎ мСня.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° php

Reg.ru: Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈ хостинг

ΠšΡ€ΡƒΠΏΠ½Π΅ΠΉΡˆΠΈΠΉ рСгистратор ΠΈ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π² России.

Π‘ΠΎΠ»Π΅Π΅ 2 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Π½Π° обслуТивании.

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡ‡Ρ‚Π° для Π΄ΠΎΠΌΠ΅Π½Π°, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для бизнСса.

Π‘ΠΎΠ»Π΅Π΅ 700 тыс. ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ ΡƒΠΆΠ΅ сдСлали свой Π²Ρ‹Π±ΠΎΡ€.

БСсплатный ΠšΡƒΡ€Ρ «ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° HTML5 ΠΈ CSS3»

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ бСсплатно ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ видСокурс

ΠΏΠΎ основам Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрстки

Π½Π° HTML5 ΠΈ CSS3 с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Bootstrap: быстрая адаптивная вёрстка

ΠŸΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ видСокурс ΠΏΠΎ основам Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ вСрстки Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Bootstrap.

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Π΅Ρ€ΡΡ‚Π°Ρ‚ΡŒ просто, быстро ΠΈ качСствСнно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт.

ВСрстайтС Π½Π° Π·Π°ΠΊΠ°Π· ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ дСньги.

Π§Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ для создания PHP-сайтов?

ΠžΡ‚Π²Π΅Ρ‚ здСсь. Волько самоС Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ качСствСнныС сайты Π½Π° PHP всСго Π·Π° 2 часа ΠΈ 27 ΠΌΠΈΠ½ΡƒΡ‚!

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ свой сайт Π·Π° 3 часа ΠΈ 30 ΠΌΠΈΠ½ΡƒΡ‚.

ПослС просмотра Π΄Π°Π½Π½ΠΎΠ³ΠΎ видСокурса Ρƒ Вас Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ использованию сайт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π’Ρ‹ сдСлали сами.

Π’Π°ΠΌ останСтся лишь Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ (ΠΏΠΎ ТСланию).

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы HTML ΠΈ CSS ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 4 часа.

ПослС просмотра Π΄Π°Π½Π½ΠΎΠ³ΠΎ видСокурса Π’Ρ‹ пСрСстанСтС с уТасом ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° HTML-ΠΊΠΎΠ΄ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π’Ρ‹ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свои ΠΏΠ΅Ρ€Π²Ρ‹Π΅ HTML-страницы ΠΈ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS.

БСсплатный курс «Π‘Π°ΠΉΡ‚ Π½Π° WordPress»

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ CMS WordPress?

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΈ вСрсткС сайта Π½Π° WordPress.

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π΅ΠΌΠ°ΠΌΠΈ ΠΈ Π½Π°Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚.

БСсплатный видСокурс ΠΏΠΎ Ρ€ΠΈΡΠΎΠ²Π°Π½ΠΈΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π° сайта, Π΅Π³ΠΎ вСрсткС ΠΈ установкС Π½Π° CMS WordPress!

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒΡΡ?

ПослС прохоТдСния видСокурса Π’Ρ‹ освоитС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JavaScript.

Π Π°Π·Π²Π΅ΡŽΡ‚ΡΡ ΠΌΠΈΡ„Ρ‹ ΠΎ слоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим языком, ΠΈ Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ JavaScript Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

*НавСдитС курсор ΠΌΡ‹ΡˆΠΈ для приостановки ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

PHP: ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ классС, ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, свойствах ΠΈ наслСдовании

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ классС

Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² классов ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Но, ΡƒΠ²Ρ‹, Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ всСгда ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

БущСствуСт ряд основных срСдств для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ класс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_class(). Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΅ΠΉ пСрСдаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ любого Ρ‚ΠΈΠΏΠ°, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² Π²ΠΈΠ΄Π΅ строки Π΅Π³ΠΎ имя класса.

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getProduct(). Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° CdProduct, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ get_class().

НиТС ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getProduct().

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, функция getProduct() просто создаСт экзСмпляр ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘dProduct ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ. ВскорС ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

Допустим, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ сСмСйству ShopProduct, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ: BookProduct ΠΈΠ»ΠΈ CdProduct. Для этой Ρ†Π΅Π»ΠΈ Π² PHP прСдусмотрСн ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ instanceof.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½ с двумя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ (указываСтся слСва ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова instanceof), ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса ΠΈΠ»ΠΈ интСрфСйса справа.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся экзСмпляром класса ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса. Для этого Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ get_class_methods(). Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΅ΠΉ пСрСдаСтся имя класса, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив, содСрТащий ΠΈΠΌΠ΅Π½Π° всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, Ρ‡Ρ‚ΠΎ класс CdProduct сущСствуСт, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

C Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ успСхом ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_class_methods() Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ класс, Π½ΠΎ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Как ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ динамичСски вмСстС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Всё Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Π°ΠΈΡ‚ Π² сСбС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ сущСствуСт? ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, сцСнарий Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой. Π£ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄.

ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ провСряСм, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π΅Π³ΠΎ имя Π² массивС, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ get_class_methods(). НСплохоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² PHP для этой Ρ†Π΅Π»ΠΈ ΡƒΠΆΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ «Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄»)

Π’ качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π΅ΠΉ пСрСдаСтся строковая пСрСмСнная, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если заданная функция сущСствуСт ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, функция is_callable() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true.

Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сущСствуСт Π² классС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ method_exists() пСрСдаСтся ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (ΠΈΠ»ΠΈ имя класса) ΠΈ имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ сущСствуСт Π² классС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’Π°ΠΆΠ½ΠΎ!
Π’ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ сущСствуСт, Π΅Ρ‰Π΅ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ. функция method_exists() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true для всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²: Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… (private), Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Ρ… (protected) ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, общСдоступных (public).

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ свойствах

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ список ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈ список Π΅Π³ΠΎ свойств. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_class_vars() пСрСдаСтся имя класса, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ассоциативный массив.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° CdProduct. Для наглядности Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ классу общСдоступноС свойство: CdProduct::$coverUrl.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π°

Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ общСдоступноС свойство.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ наслСдовании

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с классами ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ наслСдования.

НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_parent_class() ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ класса.

Π­Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСдаСтся ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ имя класса, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса (супСркласса), Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ сущСствуСт. Если ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса Π½Π΅Ρ‚, Ρ‚ΠΎ функция Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π°

ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса ShopProduct, ΠΊΠ°ΠΊ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ is_subclass_of() ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ класс Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса.

Π­Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСдаСтся ссылка Π½Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ класс являСтся супСрклассом ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ call_implements(), которая являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ SPL (Standard PHP Library). Π­Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСдаСтся имя класса ΠΈΠ»ΠΈ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΈΠΌΠ΅Π½ интСрфСйсов.

Ну Π²ΠΎΡ‚ ΠΌΡ‹ ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ классС, ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, свойствах ΠΈ наслСдовании. Увидимся Π² Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ….

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΡΡ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ?
ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *