Створити та завантажити 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) // Якщо один товар показувати в будь-якому випадку
->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.