Вы предпочитаете работать или в том числе в пределах одного файла PHP? - PullRequest
0 голосов
/ 19 декабря 2008

Как вы управляете своими php-кодами? Вы предпочитаете работать в одном php-файле или включать более крупные блоки «необработанного кода»?

Edit: На самом деле мой код довольно неприятный, так как я не использую пространства имен и классы - только функции и включая Я буду искать классы ^^.

Ответы [ 8 ]

4 голосов
/ 19 декабря 2008

Используйте их по мере необходимости. Я использую include для кусков большого кода, выполняющего обработку, и функции для «служебных» функций. Некоторые моменты, которые я использую, включают в себя и функцию ... это действительно зависит от того, насколько вам нравится ваш код.

Подумайте, что многие включения означают больше fopen () из модуля PHP, и они могут замедлить выполнение всего скрипта .. поэтому не пытайтесь добавлять слишком много включений.

3 голосов
/ 19 декабря 2008

Я согласен, что ООП это путь. Большие твердые блоки кода являются кошмаром для обслуживания. Определенно не путь. Вы должны разбить свой код на маленькие блоки, которые взаимодействуют друг с другом и легко обслуживаются самостоятельно.

3 голосов
/ 19 декабря 2008

Если вы используете классы php, это само собой разберутся. Если нет, то действительно трудно дать приемлемый ответ, за исключением того, что вы должны научиться. Весь php-код, который я видел в любом случае без классов, быстро запутался.

1 голос
/ 19 декабря 2008

Когда я использовал для программирования на PHP, мне нравилось группировать общие служебные функции в общий файл для включения в большинство страниц и группировать классы в выделенные файлы, чтобы загружать их только при необходимости.

0 голосов
/ 05 июня 2009

PHP имеет магическую функцию __autoLoad (), которую вы можете использовать для перехвата вызовов классов. Если класс еще не существует, вы можете настроить некоторый простой код, чтобы искать и искать подходящий код класса для включения. Затем он продолжит выполнение в обычном режиме.

0 голосов
/ 20 декабря 2008

У вещи, над которой я работаю, есть один включенный файл в верхней части каждой страницы, который содержит все глобальные функции и настройки базы данных. Он работает как есть, но сейчас я перевожу функции в отдельные файлы, потому что, когда все в большом куске, проводить тестирование абсолютно нецелесообразно.

0 голосов
/ 20 декабря 2008

Я делаю классы в отдельных файлах с правильными префиксами в качестве пространства имен (пока они не будут включены как минимум). Я также помещаю функции в качестве статических методов в «статические классы» для эффекта пространства имен.

Я использую автозагрузку для включения файлов, поэтому мне не нужно писать сотню включений. Сохранить My_Example_Class как {lib} /My/Example/Class.php

0 голосов
/ 19 декабря 2008

Я обычно использую функции / классы для логики и включает для отображения. Я получаю что-то подобное в контроллере ...

case 'widgetlist':
  $widgets = $DAO->getWidgets();   //get some query
  include('view/showWidgets.php'); //assume a global $widgets variable
  break;

Я обнаружил, что проще дать конструктору HTML / CSS включение, а не вызов функции, который отображается. Недостатком является то, что я полагаюсь на глобальные переменные для передачи переменных в include, а не аргументы, которые намного безопаснее

...