SQRT\Framework
ΠΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΡΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ. Β© ΠΠΉΠ½ΡΡΠ΅ΠΉΠ½, (*1)
ΠΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ
- ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ.
- ΠΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ².
- ΠΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π² IDE (PHPStorm).
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Composer., (*2)
php composer.phar create-project sqrt-pro/framework:dev-master path/to/install
, (*3)
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ
1. ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΡΠΎΠ½Π½Ρ
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ
ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°Ρ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π²Π΅Π΄Ρ ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·
ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²., (*4)
ΠΡΠΈ ΡΡΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠΈ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΠΠΠ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π°
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, Π° Π½Π΅ Π½Π° ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ
ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ°Π½ΡΠ°Π»ΠΎΠ²., (*5)
2. ΠΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ².
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌ,
ΡΡ
Π΅ΠΌΡ ΠΠ ΠΈ Ρ.ΠΏ. ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
IDE ΡΠ°ΠΌΠ° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΈ ΡΠ°Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅Π²ΡΡΠΎΠΊ. Π ΠΎΠΏΡΡΡ ΠΆΠ΅, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π»Π΅Π·ΡΡ Π²
Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ Π΅ΡΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠ½ΠΊΡΡ., (*6)
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡΠΌΡ:, (*7)
~~~ php
class MyForm extends Form
{
function init()
{
$this->addInput('name', 'ΠΠΌΡ')
->addFilter('!^[a-z]+$!i');
$this->addCheckbox('is_active', 'ΠΠΊΠ»');
$this->addSelect('status', 'Π‘ΡΠ°ΡΡΡ')
->setOptions(array('new' => 'ΠΠΎΠ²ΡΠΉ', 'old' => 'Π‘ΡΠ°ΡΡΠΉ'));
$this->addFile('image', 'ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅')
->setIsRequired();
}
}
~~~, (*8)
3. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π² IDE (PHPStorm).
Π SQRT Framework Π΅ΡΠ»ΠΈ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎ Π½Π΅ΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ, Ρ.ΠΊ.
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π°:, (*9)
$app['DB']->query()
Doctrine::getTable('JobeetJob')
Π’.ΠΊ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ IDE ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΄Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ°.
ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ°ΠΌ Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ PHPDoc ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ @return
ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ
,
ΡΠ½Π°Π±ΠΆΠ΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°., (*10)