Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
nyanorm [2023/06/16 12:15] nightfly [Особливості] |
nyanorm [2023/06/16 13:32] nightfly [Принципиальная схема] |
||
---|---|---|---|
Рядок 29: | Рядок 29: | ||
\\ | \\ | ||
Якщо вам буде так спокійніше, | Якщо вам буде так спокійніше, | ||
- | ===== Это | + | ===== Це обов'язково використовувати? ===== |
- | **Нет!** Никто вас ни в чем не ограничивает и не заставляет использовать что-либо такое специфическое | + | |
+ | **Ні! ** Ніхто вас ні в чому не обмежує і не примушує використовувати будь-що таке специфічне у вашому новому коді, і тим паче навіть не натякає, | ||
+ | |||
+ | |||
+ | ===== З чого почати? | ||
+ | |||
+ | Для прикладу, | ||
- | ===== С чего начать? | ||
- | Для примера, | ||
<code php> | <code php> | ||
$query = " | $query = " | ||
Рядок 48: | Рядок 51: | ||
</ | </ | ||
- | Правда знакомая конструкция? Осточертело, правда же? А теперь давайте тоже самое но красиво. Для | + | Правда знайома конструкція? Остогидло, правда ж? А тепер давайте теж саме, але |
<code php> | <code php> | ||
class payments extends NyanORM {} | class payments extends NyanORM {} | ||
Рядок 54: | Рядок 58: | ||
</ | </ | ||
- | либо делаем то же самое с использованием < | + | або робимо те саме |
<code php> | <code php> | ||
- | $payments = new nya_payments(); | + | $payments = new nya_payments(); |
</ | </ | ||
- | Да, все после префикса **nya_** будет развернуто в имя таблички as is и для нее будет автоматически сгенерирована модель. | + | Так, усе після префіксу **nya_** буде розгорнуто в ім'я таблички as is і для неї буде автоматично згенеровано модель. |
- | Получаем все записи | + | отримуємо всі записи |
<code php> | <code php> | ||
- | $allPayments=$payments-> | + | $allPayments=$payments-> |
</ | </ | ||
- | Да. Это | + | Так. Це типу моделька для таблички payments |
<code php> | <code php> | ||
Рядок 73: | Рядок 78: | ||
</ | </ | ||
- | Мы что-то отвлеклись. Короче модель у нас | + | Ми щось відволіклися. Коротше модель у нас |
<code php> | <code php> | ||
- | class payments extends NyanORM { } // создаем модель наследованием, так как это лучше дружит | + | class payments extends NyanORM { } // створюємо модель наслідуванням, оскільки це краще дружить з автокомплітом |
- | $payments = new payments(); // создаем объект модели | + | $payments = new payments(); // створюємо об'єкт моделі |
- | $payments-> | + | $payments-> |
$payments-> | $payments-> | ||
- | $payments-> | + | $payments-> |
- | $rawPayments = $payments-> | + | $rawPayments = $payments-> |
debarr($rawPayments); | debarr($rawPayments); | ||
</ | </ | ||
- | Давайте еще раз, на примере, но с чем то-другим. Пускай это | + | Давайте ще раз, на прикладі, але з чимось іншим. Нехай це будуть світчі. І нехай ми хочемо просто отримати всі світчі. |
<code php> | <code php> | ||
$switches = new nya_switches(); | $switches = new nya_switches(); | ||
Рядок 90: | Рядок 96: | ||
</ | </ | ||
- | Куда уже проще? | + | ну або якось так без чорної магії, в лоб: |
+ | <code php> | ||
+ | $switches = new NyanORM(' | ||
+ | $allSwitches = $switches-> | ||
+ | </ | ||
+ | |||
+ | Куди вже простіше? | ||
- | ===== О параметрах моделей ===== | + | ===== Про |
- | Как можно было заметить для | + | Як можна було помітити, для |
<code php> | <code php> | ||
$payments-> | $payments-> | ||
- | $payments-> | + | $payments-> |
</ | </ | ||
- | Также если | + | Також якщо |
<code php> | <code php> | ||
Рядок 110: | Рядок 122: | ||
</ | </ | ||
- | Что даст нам | + | Що дасть нам |
+ | ===== Про очищення параметрів ===== | ||
- | ===== О очистке параметров | + | Слід, до речі, зауважити, що після виконання методів типу getAll(), delete() і їм подібних. Усі раніше встановлені вами параметри моделей, |
- | Следует кстати заметить, | ||
\\ | \\ | ||
- | Если по какой-то | + | Якщо з якоїсь |
\\ | \\ | ||
- | Также в любой момент, вы можете самостоятельно очистить состояние любых параметров конкретной модели использовав соответствующий сеттер со всеми пустыми параметрами. | + | Також у будь-який момент ви можете самостійно очистити стан будь-яких параметрів конкретної моделі, використавши відповідний сеттер |
<code php> | <code php> | ||
Рядок 128: | Рядок 140: | ||
</ | </ | ||
- | Заметили, | + | Помітили, |
- | ===== Удаление данных ===== | + | ===== Видалення даних ===== |
- | Вы не поверите. | + | |
+ | Ви не повірите. | ||
<code php> | <code php> | ||
Рядок 139: | Рядок 152: | ||
</ | </ | ||
- | ===== Кумулятивная структура data() ===== | + | ===== Кумулятивна структура data() ===== |
- | Кумулятивная структура **data** предназначена для | + | Кумулятивна структура **data** призначена для |
<code php> | <code php> | ||
$object-> | $object-> | ||
- | $object-> | + | $object-> |
</ | </ | ||
- | ===== Создание и изменение | + | ===== Створення та зміна записів ===== |
- | Помните кумулятивную структуру **data()**? | + | Пам' |
<code sql> | <code sql> | ||
Рядок 161: | Рядок 174: | ||
</ | </ | ||
- | Все очень прямолинейно. | + | Усе дуже прямолінійно. |
<code php> | <code php> | ||
$object = new nya_someobjects(); | $object = new nya_someobjects(); | ||
- | $object-> | + | $object-> |
- | $object-> | + | $object-> |
$object-> | $object-> | ||
</ | </ | ||
- | Заметьте, мы не указывали ручками NULL для автоинкрементного поля id, как так? А так, | + | Зауважте, ми не вказували ручками NULL для автоінкрементного поля id, як так? А так, |
\\ | \\ | ||
\\ | \\ | ||
- | Окей, запись создать мы создали, а как получить ее id? Для | + | Окей, запис створити ми створили, а як отримати його |
- | Вот | + | Ось як це працює: |
<code php> | <code php> | ||
- | deb($object-> | + | deb($object-> |
</ | </ | ||
- | Окей, | + | Окей, |
<code php> | <code php> | ||
$idToModify=$object-> | $idToModify=$object-> | ||
- | $object-> | + | $object-> |
$object-> | $object-> | ||
$object-> | $object-> | ||
Рядок 188: | Рядок 203: | ||
- | ===== Включение режима отладки ===== | + | ===== Увімкнення |
- | Мы знаем. Вы привыкли использовать для | + | |
+ | Ми знаємо. Ви звикли | ||
<code php> | <code php> | ||
Рядок 195: | Рядок 211: | ||
</ | </ | ||
- | Все, теперь все запросы к БД будут | + | Усе, тепер |
<code bash> | <code bash> | ||
Рядок 201: | Рядок 217: | ||
</ | </ | ||
- | Также вам может захотеться врубить режим глубокой отладки. Тогда в этот | + | Також вам може захотітися врубити режим глибокого відлагодження. Тоді в цей |
<code php> | <code php> | ||
$model-> | $model-> | ||
</ | </ | ||
- | ===== О исключениях ===== | + | ===== Про виключення ===== |
- | Если | + | |
- | * **MEOW_WHERE_STRUCT_EMPTY** - кумулятивная структура where пуста. А она | + | Якщо |
- | * **MEOW_DATA_STRUCT_EMPTY** - кумулятивная структура data пуста. И она тоже кому-то очень нужна. | + | |
- | * **MEOW_JOIN_WRONG_TYPE** - неверный тип JOIN. Допустимы только INNER, LEFT, RIGHT. | + | * **MEOW_WHERE_STRUCT_EMPTY** - кумулятивна структура where порожня. А вона |
- | * **MEOW_NO_FIELD_NAME** - не установлено обязательное имя поля. | + | * **MEOW_DATA_STRUCT_EMPTY** - кумулятивна структура data порожня. І вона теж комусь дуже потрібна. |
+ | * **MEOW_JOIN_WRONG_TYPE** - неправильний тип JOIN. Допустимі тільки INNER, LEFT, RIGHT. | ||
+ | * **MEOW_NO_FIELD_NAME** - не встановлено обов'язкове ім'я поля. | ||
+ | |||
+ | ===== Принципова схема ===== | ||
- | ===== Принципиальная схема ===== | + | Це десь ось настільки високорівнева штука. |
- | Это где-то вот | + | |
{{: | {{: | ||
- | Так что да, в модулях где скорость работы с данными может быть узким местом, | ||
+ | Тож так, у модулях, | ||
===== Что еще? ===== | ===== Что еще? ===== | ||
Короче вот пока что вам практические примеры использования этого в виде хеллоуворлда. Но так как я хеллоуворлды писать не умею, вот вам тудушка. Как говорят умные люди - не умеешь писать хеллоуворлды - пиши тудушки. | Короче вот пока что вам практические примеры использования этого в виде хеллоуворлда. Но так как я хеллоуворлды писать не умею, вот вам тудушка. Как говорят умные люди - не умеешь писать хеллоуворлды - пиши тудушки. |