1

(12 відповідей, залишених у PHP)

reverse2500 написав:

якшо бидлокод працює та щей як треба, то це не бидло код

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

VTrim написав:

В Азію він може полетіти тільки на паливі своєї дупи. Дуже вже у нього припікає від PHP.

Дякую за підтримку, але напевно не потрібно витрачати на цю людину свою увагу та і зайві повідомлення не потрібні.

2

(12 відповідей, залишених у PHP)

Я звісно не мастер Йода, але реально працював з дуже "смердючим" кодом, наприклад в CMS PrestaShop. Та і в більшості CMS про код стайл нічого не чули, або використовують свій, настільки жахливий, що тільки на те, щоб розібратися марнується велика кількість корисного часу.

Відмова від правил написання коду є величезною проблемою, адже в деякій мірі через таких людей PHP постійно "обкакують" гнівними коментарями.

FakiNyan написав:

чуйте анекдота - "пехапешники обговорювали стиль написання коду..."

О, а ви, я бачу, ще офтопите на цьому форумі, думав, що ви вже давно переїхали подалі в Азію і забули за нас.

3

(12 відповідей, залишених у PHP)

Привіт усім.

Так як за останній рік я виріс з звичайного дурника студента в junior'a php дурника, в мене є до вас питання.

Чи дотримуєтесь ви code styl'ів у своєму проекті на PHP, якщо так то роскажіть про них. (якщо можете, наведіть приклад)

Останнім часом мене дуже цікавить ця тема, адже є шанс, що мені потрібно буде проводити виступ для молодих "падаванів" і розповідати наскільки важливим є code style та рефакторинг.

Сам я пишу з використанням фреймворку Symfony2, дотримуюсь їхніх стандартнів, повністю дотримуюсь всіх стандартів PHP-FIG, використовую деякі власні стандарти (які не відміняють раніше описаних) та користуюсь ще офіційно не прийнятими стандартами по оформленню PHPDoc блоків.

Що скажете?

Тролі-лісом

(тільки не пишіть всяку муть, яку люблять писати товсті тролі типу, "PHP помер", "там купа г**вна", не подобається - йдіть далі)

4

(43 відповідей, залишених у PHP)

Конкретно по мові скажу, що вона в деяких місцях жахлива, а в деяких, доволі часто, дивує своєю кількістю корисних фіч (можливо це теж по своєму погано).

+ в напрямок PHP7 http://benchmarksgame.alioth.debian.org/u64q/php.html

5

(144 відповідей, залишених у PHP)

quez написав:

Atom зручніший за сублайм? Просвітіть, може й переїду на нього.

Насправді не дуже. Але мені імпонує дизайн та і зазвичай я ним користуюсь заради Preview Markdown файлів. Ну і запустити його з консольки легше.

6

(144 відповідей, залишених у PHP)

Хегей, радий вас всіх знову бачити читати, маю надію що і ви мене теж.

На рахунок редакторів то користуюсь переважно Sublime і Atom, стандартний gedit для перегляду, бо відкривати заради одного файлу будь-який інший редактор/IDE нелогічно. Sublime - бо швидкий, Atom - бо зручний (використовую дуже рідко).

А якщо говорити за IDE то тільки PHPStorm.
imho на даний час ця IDE є найкращою за функціональністю та якістю, єдина "типу" проблема це її ціна, але так як я студент то користуюсь безкоштовно (тільки для навчальних проектів).

7

(10 відповідей, залишених у Бази даних)

Allright написав:

Приблизно так:

*Код групи
  Назва групи

*Ідентифікаційний код студента
  ПІБ
  Дата народження
  Телефон
  Студ. квиток
  ...
  Код групи

Як спректувати відділення і факультет самі здогадаєтесь.

Я звісно вдячний, але мені здається, що ви мене не так зрозуміли. Приклад про Група та Студента я навів заради того, щоб показати типу чому нас навчають в коледжі.

Що ж я хочу дізнатись, це якійсь ситуації, чи лайф-хаки для майбутнього проектування БД. Типу як це все швидко і якісно зробити, або хоча-б можливо якійсь лінки на статті. Звісно якщо вам не складно.

8

(10 відповідей, залишених у Бази даних)

koala написав:

Група:
       *Код групи
        Назва групи
        Кількість студентів - приберіть. Цей параметр має обчислюватися базою за даними про студентів
        Відділення - група може змінити відділення? Якщо ні - то це частина ключа. Для маленьких баз некритично, а от для великих може виявити проблему.
        Код студента - якого студента? В групі тільки один студент? Це у студента має бути код групи, навпаки.
Студент:
       *Код студента(студентського) - якщо студент загубив студентський, йому дадуть з таким самим номером?
        Ім'я
        Прізвище
        По батькові - ці три поля будуть оброблятися незалежно?
        Телефон - у студента тільки один телефон може бути?
        Ідентифікаційний код
        Дата народження

От бачте, пане, за це я і говорю, що більшість полів які я понапихував, або непотрібні, або некоректні. Дякую.

Можливо ще якусь історію з реального досвіду можете описати, або посилання на статтю у вас знайдеться? Щоб якось з такими проблемами меньше зіткатися.

Я розумію, що проектування це, по суті своїй, просто наявність здорового глузду, або чітко сформованої логіки/звичок. Але в мене з цим трохи ніяк)

9

(10 відповідей, залишених у Бази даних)

Добрий вечір.

Вибачте, що я так давно не навідувався на форум, питань особливих не було (чи я, напевно, нарешті навчився гуглити), а відповіді мої переважно складаються з посилань на "Правила" та з побажань коректно оформлювати тему, тому і не заходив)

Коротше кажучи, постала в мене фундаментальна (слово дуже підходить) проблема з проектуванням баз даних.

Наче БД я розумію, сам принцип теж, роботу з ними для конкретного типу та мови теж, за бажанням дізнаюсь. Але от не можу я правильно спроектувати саму базу.

Ну як, в коледжі нас звісно "навчили" теорії, про рядки, про типи, про зв'язки і тому-подібне і навіть намагались навчити проектувати, говорили за декілька (здається 4) нормальних форм, але...

На стандартному прикладі, як типу студентська Група створити базу нас то навчили, якось таким боком:

Група:
       *Код групи
        Назва групи
        Кількість студентів
        Відділення
        Код студента     
   

Студент:
       *Код студента(студентського)
        Ім'я
        Прізвище
        По батькові
        Телефон
        Ідентифікаційний код
        Дата народження

Це був маленький приклад, звісно там для кожного поля свій тип.. Але ось мені здається, що це просто якась "мазня".

Можливо хтось може дати конкретні поради, або навести приклади з життя. Бо хочеться конкретно на чужих помилках навчитися. Тим більш, що зараз на практиці в гарній студії і хочу, в майбутньому, працювати там)

Буду вдячний за будь-який коментар.

10

(18 відповідей, залишених у PHP)

funivan написав:

Ну шлях там точно можливо знайти, тому що IDE показує, що шлях повністю вірний.

Яка у вас помилка була? Якщо IDE показує що файл можна підключити це ще не означає що все у вас буде працювати ;)

Вирішив проблему, але, як завжи, не самим кращим велосипедом, як на мене.
include_once(__DIR__ . "/../Redirect.php");

фактично це вірний спосіб. Але краще все ж таки autoloader =)


Помилки:

http://s27.postimg.org/y3l4xuakz/020.png

З autoloader'м буду трохи пізніше розбиратися, бо хочу створити загальну ф-ію, для будь-якого файлу шляху до файлу. Типу, щоб з будь-якої папки працювала, а знайти таку не можу.

11

(18 відповідей, залишених у PHP)

funivan написав:

Взагалі не розумію через що це, IDE, можливо я криво десь щось створив?  :(

так
в першу чергу - увімкніть вивід помилок
У помилці буде така штука "неможливо знайти файл" - висновок - невірний шлях ;)
;)

Ну шлях там точно можливо знайти, тому що IDE показує, що шлях повністю вірний.

Читав якусь статтю і вирішив через термінал запустити, помилок не знайшло)

VTrim написав:

При підключенні файлів,користуєтесь $_SERVER['DOCUMENT_ROOT'] ?

Нєа. Ну наскільки я зрозумів - це аналогічне __DIR__?


Вирішив проблему, але, як завжи, не самим кращим велосипедом, як на мене.
include_once(__DIR__ . "/../Redirect.php");

12

(18 відповідей, залишених у PHP)

Добрий вечір.

Оце почав продовжувати роботу над проектом і знову вилізла проблема №2.

Тепер в мене є файлик Redirect.php, в якому зберігаються 3 ф-ії з різними реалізаціями переходу по сторінкам (php, html і js - реалізації).
Також в мене є клас CheckClass (CheckClass.php) в якому є функція, яка в свою чергу викликає функції редіректу.

Я вирішив трохи розкидати файли (класи окремо, іншу єрунду окремо), перенісши та перепідключивши файлик Redirect.php, клас CheckClass перестав бачити ф-ії цього файлу.

Взагалі не розумію через що це, IDE, можливо я криво десь щось створив?  :(

13

(17 відповідей, залишених у C++)

quez написав:

Було б просто. Якби не

+ заборонено використовувати масиви.


Окей, давайте тоді використаємо файли.

Ну, або вже якщо збочення приймається, то в рядок записувати відокремлюючи будь-яким символом)

14

(17 відповідей, залишених у C++)

Добрий вечір.

Глянув я на ваш код і на завдання в результаті виникло декілька питань:
    1. Де ваш цикл, який має працювати від 1 до n? (Відповідно обрахунок n у вас вказаний в умові) - на це, здається, і натякав koala;
    2. i - у вас оголошенно типу double, але i відповідно до мого першого питання має бути цілим та, краще за все, оголошуватися в циклі ( for (int i = 0; i < n; i++) ).


На мою думку f краще зробити ф-ією типу double, в яку передавати 3 параметри (a, b, i) і відповідно повертати результат, записуючи його в масив y (прокручуючи це все в циклі).

Далі, для обрахунку g вам потрібно знайти мінімальне та максимальне значення масиву y та використати в формулі.

Мені здається все дуже просто)

15

(18 відповідей, залишених у PHP)

koala написав:

Про header, в двох словах: заголовки мають надсилатися до будь-чого іншого. Повідомлення про помилку (чи попередження) - це також будь-що.

В купі я зрозумів, що ви саме написали, але що ви мали на увазі до мене не дійшло  :) 

funivan написав:

З header вже розібрався - просто не використовую його)
Взяв собі на "озброєння" методи переадресації в html і js, які описав вище VTrim.

Я б не рекомендував вам іти цим шляхом, краще все таки через header ;)

Код поглянув) Дам пораду: використовуйте автолодер ;)

Типу ось це?


Ще таке питання.

Якщо ж в мене на ноуті (з Linux'м та LAMP'м) все працює нормально, то отже віддалений сервер, який, в майбутньому я можливо буду використовувати, має схожі характеристики (ну типу Linux'ву базу) буде відображати сторінку для користувача нормально?

16

(18 відповідей, залишених у PHP)

funivan написав:

Давайте будемо по кроках. У вас дійсно поширена проблема з header. Постарайтесь перекласти а дальше якщо не вийде - погугліть. якщо ж там нічого не вийде  - напишіть сюди скажемо що і де дивитись ;)

Після цієї проблеми можна перейти до наступної ;)

З header вже розібрався - просто не використовую його)
Взяв собі на "озброєння" методи переадресації в html і js, які описав вище VTrim.

З кодуванням також розібрався, виконую запити, які також описав VTrim.

Залишилась проблема з app_config, але скоріш за все я також з нею розібрався, розмістивши ту одну ф-ію в клас database і прямо в класі вже її і використовую, мені здається так нормальніше, тому що вона все-одно тільки 1 раз використовується.

Можливо з слів не так все зрозуміло, але ви можете це все переглянути в мене на github.

P.S. Безмежно вдячний вам за допомогу)

17

(18 відповідей, залишених у PHP)

VTrim написав:

1. Помилки з header("Location: url") через те,що це є заголовок і перед ним нічого не має бути.
Детальніше тут http://cannot-modify-header-information.ru/

2. Так перевірте чи правильно прописаний новий шлях до app_config.php в assets/Classes/Database.php

3. В файлі підключення до бд виконуйте наступні запити:

SET charset utf8
SET names utf8
SET character_set_client="utf8"
SET character_set_connection="utf8"
SET character_set_result="utf8"

І взагалі Denwer з глюками (проблеми з кодуванням в бд та хедерами) ,тому раджу щось з цього: OpenServer,EleanorServer,XAMPP

2. Шлях прописаний правильно, phpStorm навіть показує вміст папки, типу при Ctrl+Space;
3. Denwer на Windows стоїть, а весь проект пишеться на Linux.

funivan написав:

постійно вискакують помилки на ф-ію header("Location: url")

які саме помилки. Щось типу "хедер уже був відправлений" ?

2. змінішть шлях до файлу

P.S.S.S. Також є таке питання: Як правильно формулювати комміти для github? Можливо в когось є поради?

називайте те що робили і робіть коміт. на перших етапах це не дуже має значення ;)

Помилка

Прихований текст

[img]http://домен агресора/gV2VvWz5sZOa2v.jpg[/img]
Номер стрічки не правильний, тому що це скрін з файлу старої версії проекту. Але воно кидає на ф-ію header, що в старому, що в новому проекті.

2. Відповідь вище)

Просто виникли проблеми в формулюванні, я сам англійською володію на рівні читання тех. документації, чи перегляду фільмів в оригіналі, а сам думку і зроблене, по суті, висловити не можу :(



А чи є взагалі якійсь аналоги ф-ії header, або як можна перейти на іншу сторінку в php?

18

(18 відповідей, залишених у PHP)

Добрий вечір.

Зараз пишу дипломний проект - сайт на php та 2 додатки на Android.

Останнім часом засів за сайт. Все доволі просто - шаблони Bootstrap та декілька PHP класів.
Взагалі мої знання PHP не перевищують знання створення класу, можливо ще деякі деталі знаю, але суть не в цьому.

Працюю Намагаюсь працювати з сервісом github.com. Тому ось саме проект.

Тепер стосовно створення теми.

В інструментарії маю:
  1. phpStorm 8.0.1;
  2. LAMP;
  3. phpMyAdmin.

Під час написання коду, який повинен виконувати певні функції виникли деякі проблеми, а саме:
  1. На ОС Windows, коли ставлю проект на Denwer - постійно вискакують помилки на ф-ію header("Location: url") (прописана в assets/Classes/Check.php, використовується в index.php - при натисканні на кнопку реєстрації/входу);

  2. Недавно (сьогодні 3 години тому) все працювало без "проблем", але після того, як я переміщую файл app_config.php в іншу папку (від класів, які знаходяться в Classes), через Дебагер показує, що клас Database (assets/Classes/Database.php), який саме використовує файл app_config.php, не бачить цей файл;

  3. Дані (кирилицю), які я записую в базу при реєстрації (firstName - Ім’я) постійно записується у вигляді якоїсь фігні: Олег. База є в моєму репозиторії. База, таблиці та поля в таблицях створені з кодуванням utf8_general_ci. Кодування файлів проекту через phpStorm показує utf8, але через notepad++ - utf8 без BOM, при зміні кодування, "краще" не стає.

Прошу, по можливості, допомогти з цими 3-ма питаннями.

P.S. З структуризацією файлів проекту все дуже погано, знаю... Зараз якраз починаю вивчати практичну сторону MVC, але під час атестації (в коледжі) трохи мало часу.
P.S.S. З задоволенням вислухаю вашу критику та побажання, якщо такі є.
P.S.S.S. Також є таке питання: Як правильно формулювати комміти для github? Можливо в когось є поради?  :)

19

(62 відповідей, залишених у Java)

VTrim написав:
FakiNyan написав:
koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

Ексепшени частіше за все використовуються для обробки якихось помилок або виключних ситуацій,при яких потрібно видати повідомлення. Для цього має бути умова,типу if

Мені цікаво, як ви передбачите невідому помилку через if та викличете повідомлення?

20

(62 відповідей, залишених у Java)

quez написав:

Я не зрозумів, в чому питання (а воно явно не в тому, щоб написати && замість & в прикладі).

Питання в тому, як оформити (щоб можна було нормально прочитати і зрозуміти) оператор if, коли є велика кількість умов.

Ну типу
if ((a == null) && 
    (b == null) && 
    (c == null) && 
    (d == null) &&
    (e == null)) {
         ....
} else {
         ....
}

Або

if ((a == null) && (b == null) && 
    (c == null) && (d == null) &&
    (e == null)) {
         ....
} else {
         ....
}

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