des1roer: я не знаю что может быть. проверяйте сеть. возможно вы сидите за прокси, который блокирует загрузку файлов. обратитесь к системному администратору)
protasovmikhail: а зачем вам руками дергать средство автоматизации? поставьте запуск через cron и дело с концом. при запуске анализируйте текущую нагрузку, если сильно велика, то просто завершайте работу. такие вещи обычно на bash/sh легко автоматизируются.
Плюсану Alexander. Если это не какой-то мега большой портал со сложным функционалом именно в админке, хватит того, что в basic шаблоне: отдельный модуль на magazine и catalog и модуль под админку. Единственное, стоит портировать функционал окружений - вот этого реально не хвататает.
Подскажите, а как потом использовать этот мок в тесте? Вот сделал я как вы предлагаете, теперь вместо FileHelper::createDirectory($path) у меня что-то вроде (new MyHelper)->makeDirectory($path). Как подсунуть вместо этого класса mock?
Евгений Тупиков: совмещать дамп и фикстуры не хочу, потому что лень готовить чистый дамп после изменения в базе. А изменения на этапе разработки часто бывают.
)))
Фикстуры не подходят, потому что я сам создаю объект в базе в процессе теста. Мне лишь нужно убедиться, что до начала теста в заданной таблице ничего нет (очистить ее). В юнит тесте очистить таблицу перед использованием легко, а в функциональном я нашел только возможность залить дамп всей базы целиком перед началом тестов.
Миша Коган: у вас же он в коде написал. Вот этот кусок
walker.on('end', function() {
var fileString = files.toString();
fileName = fileString.substr(9);
});
Добавьте туда ввод в консоль и все будет
walker.on('end', function() {
var fileString = files.toString();
fileName = fileString.substr(9);
console.log(fileName);
});
Почитайте про асинхронность в javascript и про асинхронность вообще...
Миша Коган: видимо, нужно делать _это дело_ в коллбеке, который вы передаете в walker.end. undefined вы получаете, потому что в момент вывода коллбек еще не вызывался и переменная пуста.
Матвей Мамонов: во первых, действительно, этот компонент можно использовать отдельно. во вторых, если это в самом деле большой проект не для себя одного, подумайте как вы будете осуществлять поддержку пользователей и обучение других разработчиков.
Я так понял, вам нужно валидировать ипут, для которого нет соответствующего свойства в модели. Ну вот как вариант такое поле можно завести исключительно для целей валидации.
Alexander Kim: в методе search вам уже не нужно обращаться к Yii::app()->request. Все данные из него должны быть уже загружены в модель. Должно быть что-то вроде
if (!$this->name.'_'$language) {
/* тут какое-нибудь невозможное условие, типа */
$criteria->compare('active', 4);
}
тогда DataProvider будет возвращать пустой результат и список чего-бы то ни было не отобразиться.
либо можете возвращать вообще null в этом случае, а во вьюхе, если не задан $dataProvider показывать сообщение о том, что поиск отключен...