Php (форум)

Шановні форумчани! Потрібно ваша допомога!

Підкажіть, як ефективно і просто вирішити задачу:

Є масив (до речі, може замінити на об'єкт?) І дві таблиці в базі даних:

Мета: записати масив в обидві таблиці. Начебто просто і не було б питання, якби можна було цей масив віддати в execute і він сам взяв що йому необхідно, але наскільки я знаю, більше ніж потрібно параметрів можна вказувати.

Прошу врахувати, що завдання полегшене! У таблицях купа колонок, а не по дві як тут, тому їх перерахування трудомістким, це і змушує шукати інші способи!

Розробляю свій перший сайт. З'явився нубскій питання.

Його модель повертає у відповідному масиві поле 'name', що містить ім'я + прізвище. Мені потрібні ім'я (first_name) та прізвище (last_name) окремо. Повивчати вихідні. Сама модель надає можливість змінити запит всередині себе і отримує від провайдера дані поля в JSON-форматі, але потім, не розумію навіщо (мабуть, щоб виключити помилки з відповіді), в іншому методі перестворює вручну ( «ремапіт») масив по полях, ігноруючи поля, запитувані користувачем:

Приблизно такий ланцюжок для Facebook:

getUserByToken -> $ user ($ fields [ 'first_name', 'last_name']) -> JSON-decode-> mapUserToObject -> $ user [ 'name'] = $ user [ 'first_name']. $ User [ 'last_name']

Власне суть питання. Як правильніше (грамотно) допив функціонал?
1. Переписати вихідні?
2. Успадковувати клас і переписати метод mapUserToObject?
3. Додати в існуючий контролер метод з розділення name на ім'я і прізвище.

Пішов по 1-го. Але ж, після оновлення, заново доведеться переписувати. Другий - милицю. Третій - маразм. Особливо з ВКонтакте, який не надає поле 'name'. Спочатку склеїти поля, потім знову розділити.

Підкажіть, будь ласка, знавці. Яким шляхом технічно грамотно потрібно йти?

Навіщо вони в ньому? Адже після виконання скрипта все суті автоматом дохнуть.

Шановні форумчани! Потрібно ваша допомога!

Підкажіть, як правильно? Завдання просте, потрібно записати візит користувача в базу даних.

  1. Підключаємося до бази даних.
  2. Оновлюємо запис про відвідувача в таблиці.
  3. А раптом відвідувач вперше і його записи немає, значить вставляємо запис.
  4. Для розгортання (для першого запуску): А раптом таблиці немає, значить створюємо таблицю.

Питання 1: Чи турбує те, що кожен раз при оновленні (update) купа неодружених операцій (create, insert), може це як то інакше вирішується, підкажіть.

Питання 2: А як ви вирішуєте завдання які потрібні одноразово при першому запуску?

Питання 3: Підключення до бази даних. Може в інший файл перемістити? Але тоді при переміщенні файлу будуть проблеми, а якщо залишити - то постійно відкривається і закривається підключення до бази даних в різних файлах.

І взагалі, чи правильна це ідея? Або якось витонченіше вирішуються такі питання з великою кількістю постів? Я, на жаль, не зміг нічого знайти з цього питання, бо навіть не знаю як його гуглити.

Кілька днів тому помітив, що сайт став дуже сильно гальмувати, завантаження однієї сторінки до 10 секунд, хоча раніше було не більше двох, сайт Wordpress, працює на VPS CentOS 7 (2 Гб ОЗУ, 4 CPU x 2,2 Ghz) з Nginx + PHP-FPM. Пошук повільних скриптів через slow.log нічого не дав, часто потрапляє в лог файл index.php (виконується більше 5 секунд). Збільшення потужності сервера на одне ядро ​​теж. Кешування включено через плагін W3 Total Cache, сторінки кешуються на диск, а база даних і об'єкти wordpress в memcached. Відвідуваність до 15к унікальних користувачів на добу. Намагався відсіяти ботів за допомогою модуля nginx testcookie, відсіваються лише боти пошукових систем, але так, тоді навантаження падає, правда це не варіант. Та й директива Crawl-daily в robots.txt є. Якщо W3TC відключити, PHP взагалі падає по 502, а сторінки починають завантажуватися не швидше, ніж за 40-50 секунд. Що з усім цим можна зробити? Нижче конфігураційні файли і статистика:

Шановні прошу допомогти. Ubuntu 14.04 по замовчування ставить PHP 5.5 а необхідний 5.3

# Apt-get install build-essential openssl libssl-dev openssl-blacklist openssl-blacklist-extra bison autoconf automake libtool re2c flex apache-prefork-dev

# Apt-get install libxml2-dev libssl-dev libbz2-dev libcurl3-dev libdb5.1-dev libjpeg-dev libpng-dev libXpm-dev libfreetype6-dev libt1-dev libgmp3-dev libc-client-dev libldap2-dev libmcrypt- dev libmhash-dev freetds-dev libz-dev libmysqlclient15-dev ncurses-dev libpcre3-dev unixODBC-dev libsqlite-dev libaspell-dev libreadline6-dev librecode-dev libsnmp-dev libtidy-dev libxslt-dev libt1-dev

# Apt-get remove php5-gd php5-curl php5-common

# Apt-get remove --purge php5 *

#tar -xvf php-5.3.29.tar.bz2

В Підсумку: Після команди

Довго встановлювати і написало в кінці

Написало ось що і PHP так і не був Встановлено, Допоможіть встановити PHP 5.3 Може якось можна змінити репозиторій де є Старий PHP 5.3?

За Раніше Спасибі і з повагою.

Схожі статті