Создать и скачать CSV на PHP
Рассмотрим возможность быстрого создания CSV файла с автоматическим скачиванием файла. Рассмотрим формирование, разделители и header для возможности скачать файл.
Часто приходится комбинировать условия в запросе. Если в SQL это сделать легко, то используя ORM приходится изобретать велосипеды. ORM Propel позволяет это сделать без костыля через инструменты ->condition() и ->combine().
Рассмотрим сложный пример, чтобы можно было из него выделить много полезного для себя.
К примеру нам нужно в WHERE вставить вот такое условие:
Есть товары, который нужно выбрать из категории по такому принципу.
(A && B && C) OR D
A - (user) - создавший товар Юзер.
B - (price) - цена товара
С - (stock) - количество товара
D - (ignore) - флаг отвечающий за "выводить влюбом случае"
Пример реализации:
<?php
Products::create()
->condition('user', 'Products.User = ?', 10) // 10 - Id юзера
->condition('price', 'Products.Price > ?', 5000) // Цена больше 5000
->condition('stock', 'Products.Stock > ?', 0) // Количество больше 0
->combine(['user','price', 'stock'], 'and', 'u_p_s') // объеденяем условия в одно
->condition('ignore', 'Products.Ignore = ?', 1) // Если 1 то товар показывать в любом случае
->where(['u_p_s','ignore'], 'or') // Сравниваем 2 условия
->find();
Рассмотрим возможность быстрого создания CSV файла с автоматическим скачиванием файла. Рассмотрим формирование, разделители и header для возможности скачать файл.
Последние шаблоны от ImageCMS 4.12, для скачивания нужна авторизация.
Рассмотрим варианты популярные варианты хранения товаров в корзине в интернет-магазине. Обозначим плюсы и минусы таких хранений. Рассмотрим варианты долгосрочного хранения корзины.
Создание ключа для imageCMS 4.9-4.12.1 Pro и Pre. Для получения следует авторизироваться.
При запуске скрипта с консоли отсутствует DOCUMENT_ROOT в $_SERVER. Попытаемся обойти это своими путями, отловить директорию файла.
После разработки какого-либо инструмента на PHP, становится вопрос, насколько созданный код ресурсный и какие элементы он затрагивает еще. Рассмотрим установку xhprof, настройку и рассмотрим способы работы с xhprof.
Столкнулся с проблемой авторизации 1с на сайте. Сервер почему то не принимал от нее параметр PHP_AUTH_USER и PHP_AUTH_PW. Рассмотрим подробнее решение и обход данных параметров в $_SERVER .
Целью статьи стало присоединение (join) не объявленной в схеме (schema.xml) таблице в propel2. Видимо редкий случай или просто недостаточно документации по данной Propel ORM.