В целом проблема вполне решабельная и своими силами, использованием и написание собственного кода. Но фреймворк изучаю я не для того, чтоб изобретать велосипеды вновь и вновь.
Потому есть пару вопросов к сообществу)
А проблемы состоят в следующем:
1) Вроде как Yii нацелен и вполне хорошо работает с jquery, и даже есть папочки с соответствующим назначением. Но самой библиотеки нет по умолчанию. Соответственно, создал в корне проекта папку js, куда кинул туда jquery, файл с пользовательскими скриптами и ещё одну библиотеку, затем подключил их в файле protected\views\layouts\main.php
Я вообще правильно делаю, или же предполагается некий другой алгоритм действия и подключения js скриптов?
2) папка assets. Что это? Я так понял что там сохраняются и туда распаковываются файлы в том числе и скрипты, с префиксом jquery.*. При этом это то ли кеш, то ли просто временная папка где хранятся данные текущей сессии ну или типа того. Откуда это, всё, зачём? Какого вообще и как это отключить? Там каждый раз, при запуске, как я понял, создаётся некая новая папка с 8-ми символьным именем, в которых лежит одно и то же. На кой это нужно?
3) У меня есть, к примеру, некий обьект, "устройства". Для него есть соответствующая таблица в БД, а так же создан класс в папке protected\components. При этом есть в этом классе функции вывода и ввода данных. Проверка корректности введённых данных осуществляется внутри этих функций. Ну т.е. что то вроде:
Код: Выделить всё
function addNewDevice($id,$params)
{
if (empty($id)) return 'ОШИБКА: пустое поле "id". Информация не была добавлена';
if (empty($params)) return 'ОШИБКА: пустое поле "params". Информация не была добавлена';
// и т.д. в том же духе
$sql='INSERT INTO .......'; // Ну и затем уже добавляется в БД если всё нормально.
return 'Добавление прошло успешно!';
}
4) При этом редактирование и добавление данных должно производится через аякс. Действия у меня привязаны к клику по кнопкам с соответствующим id или name. Как при этом правильно запустить аякс? Конечно в рецептах есть пример, но мне непонятно: какой именно php файл запуститься при нажатии соответствующей кнопки? А если мне, прежде чем отправлять форму нужно средствами того же jquery проверить её валидацию или ещё что-то?
А просто создать так же в корне проекта папку ajax, куда поместить отдельные php файлы для каждого действия (добавления, редактирования и т.д.) Не будет ли это проще и правильнее?