CMSx Framework
ΠΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ
- ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ.
- ΠΠΈΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ². ΠΠΈΠ³Π΄Π΅.
- ΠΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π² IDE (PHPStorm).
ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ
ΠΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΏΡΠΎΡΠ°ΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ. Β© ΠΠΉΠ½ΡΡΠ΅ΠΉΠ½, (*1)
1. ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ. ΠΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ.
Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΡΠΌ. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΡΠΎΠ½Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²Π·ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅ΡΠ°Ρ ΡΠ°ΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, Π²Π΅Π΄Ρ ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²., (*2)
ΠΡΠΈ ΡΡΠΎΠΌ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠΈ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΠΠΠ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, Π° Π½Π΅ Π½Π° ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ
ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠ°Π½ΡΠ°Π»ΠΎΠ²., (*3)
2. ΠΠΈΠΊΠ°ΠΊΠΈΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ². ΠΠΈΠ³Π΄Π΅.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌ, ΡΡ
Π΅ΠΌΡ ΠΠ ΠΈ Ρ.ΠΏ. ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ IDE ΡΠ°ΠΌΠ° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΈ ΡΠ°Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π΅Π²ΡΡΠΎΠΊ. Π ΠΎΠΏΡΡΡ ΠΆΠ΅, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π»Π΅Π·ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ Π΅ΡΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠ½ΠΊΡΡ., (*4)
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:, (*5)
// ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ. Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² "ΡΠ΅Π΅ΡΡΡ".
X::AddConnection('localhost', 'cmsx', 'qwerty', 'cmsx', 'utf8');
// ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ
Template::SetPath('/my/path');
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡΠΌΡ:, (*6)
class MyForm extends Form
{
function init() {
$this
->addInput('name', 'ΠΠΌΡ')
->setIsRequired(true);
$this
->addSelect('city')
->setOptions('ΠΠΎΡΠΊΠ²Π°', 'ΠΠΈΠ΅Π²', 'ΠΠΈΠ½ΡΠΊ')
$this
->addInput('email', 'E-mail')
->setRegexp('/[some_regexp]/uis');
}
}
3. ΠΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Π² IDE (PHPStorm).
Π CMSx Framework Π΅ΡΠ»ΠΈ Π³Π΄Π΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎ Π½Π΅ΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡ, Ρ.ΠΊ. Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΠΈΠ΄Π°:, (*7)
$app['DB']->query()
Doctrine::getTable('JobeetJob')
Π’.ΠΊ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ IDE ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ΄Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π΄Π»Ρ Π°Π²ΡΠΎΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ°ΠΌ Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ PHPDoc ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ @return
ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ
, ΡΠ½Π°Π±ΠΆΠ΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°., (*8)