#20 Чтение данных -- Работа с файлами в Паскаль, assign, reset

(урок в процессе разработки)

В этом уроке мы рассмотрим примеры работы с текстовыми файлами (а именно способы чтения данных) средствами ЯП Паскаль.

Программа на Паскаль может читать текстовые файлы и работать с данными, которые в них хранятся, но чтобы рассмотреть пример такой работы, сначала нам нужно определиться где именно положить файл, который мы будем читать.

Где сохранить текстовый файл

(определим его адрес в файловой системе)

Паскаль проверить существование файла -- пример

Чтобы проверить существование файла можно использовать только такой код:

yii2tech Value should either an object or a null, 'array' given.

--такой вот косяк.

Решается в общем случае подключением поля с помощью метода mapEmbeddedList().
Подробности решения сообщим тут позже.

-- тут такой момент: mapEmbeddedList() создаёт ArrayObject -- но его приходится вручную "набивать" из пришедших от формы данных, а также не слишком ясно как сделать нормальную валидацию вложенной модели на форме.

Поэтому я рекомендую использовать для вложенных документов mongodb расширение consultnn/yii2-mongodb-embedded .

yii2 has no declaration for the embedded -- Ошибка (валидация) Решение

ПРИМЕЧАНИЕ: для работы со вложенными документами намного удобнее оказывается использовать consultnn/yii2-mongodb-embedded.

В моём случае ошибка выглядела как-то так:

'app\models\es\PrimaryReport' has no declaration ('embedresearch_results()') for the embedded 'research_results'

Причина в том, что если у вас есть метод, описывающий вложенную сущность:

Что делать если редиректа нигде в коде нет, но он есть (продолжает работать) -- что делать

Дело в том, что редиректы, например из .htaccess или php-кода, могут быть закешированы браузером -- в том случае они продолжают действовать, даже если правила сервера уже изменены -- один из способов решения проблемы-- почистить из историю браузера (скажем, за 1 час).

После чего выключить это кэширование вообще (в Firefox так).

jquery Удалить родительский элемент после клика, плавно скрыть

Используя идею плавного скрытия, можно написать функцию как-то так:

$('.dell-line').on('click', function() {
    
    $element = $(this).parent(); // получаем родителя
    
    $element.stop().animate({ // анимация средствами JQuery
        
            height: "0px", // высоту к нулю
            width: "0px", // высоту к нулю
            opacity: 0, // прозрачность к нулю
        }, 600, function() {
            $(this).remove(); 
        }
    ); 
    return false;
});

yii2 Включение одного представления (view) в другое render()/include

Включение непрерывного фрагмента -- render()

Можно так (echo):

<?= $this->render('blocks/right_block',['models' => $models]); ?>

Или так:

<?= $this->render('blocks/right_block', compact('models')); ?>

Включение с возможностью окружения -- beginContent()

Чтобы включить какой-нибудь view в данное место данного шаблона, используйте код типа:

Internal, external & inline style sheets -- виды подключаемых CSS сталей (3 способа)

Существует 3 способа подключения файлов со стилями:

  1. Internal - внутренние в HTML как отдельный блок стилей, включеный прямо в код странце
  2. external -- CSS подлючаемый из внешний хфайлов
  3. inline -- стили указанные в атрибуте style самого тега

symfony Cache directory ".../var/cache/dev" is not writable

Ошибка может возникнуть в процессе запуска симфони.

Можете выяснить имя пользователя под которым работает ваш сервер, далее нам нужно будет дать права.

Если речь идёт об ubuntu, то дать права можно дать права на запись сразу всем пользователям (что не безопасно), но для первичной установки пойдёт (даем рекурсивно из папки корня проекта):

sudo chmod go+w var/ -R

yii2 ActiveForm view Пример назначения шаблона всей форме, опции ajax валидации

Начать форму с аякс валидацией и изменённым шаблоном (где выключены автоматические метки -- labels) можно так:

Pages

Subscribe to fkn+antitotal RSS