Я никогда не использовал OO в прошлом в проектах, так как я делал это проще (фактически используя архаичные вызовы mysql_query и собственную фильтрацию), поэтому я хотел начать новый проект, научившись использовать шаблоны проектирования с моим OO по пути , Я искал, чтобы создать сайт микроблогов для пинков, и нашел класс шаблонов дизайна синглтона, который казался […]
Я хочу перебрать массив идентификаторов продуктов в Magento. В цикле я показываю некоторые пользовательские атрибуты продуктов как: foreach ($products as $product) { $model = Mage::getSingleton('catalog/product')->load($product['id']); echo '<br>' . $model->getCredits(); } Проблема в том, что если значение getCredits() для первого элемента равно true то все последующие элементы отображают true даже если они не имеют значения true […]
Как создать класс Singleton с использованием классов PHP5?
Я обращаюсь к своей базе данных MySQL через PDO. Я настраиваю доступ к базе данных, и моя первая попытка заключалась в следующем: Первое, о чем я думал, – global : $db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd'); function some_function() { global $db; $db->query('…'); } Это считается плохой практикой. После небольшого поиска я оказался с шаблоном Синглтона […]
В чем преимущество использования singleton вместо глобального для соединений с базой данных в PHP? Я чувствую, что использование singleton вместо глобального делает код излишне сложным. Код с Global $conn = new PDO(…); function getSomething() { global $conn; . . . } Код с Singleton class DB_Instance { private static $db; public static function getDBO() { […]
Возможный дубликат: Кому нужны синглеты? Я всегда пишу в отношении лучшей практики , но я также хочу понять, почему данная вещь – лучшая практика . Я читал в статье (я, к сожалению, не помню), что классы singleton предпочтительнее создавать, а не делать со статическими функциями и получать доступ с помощью оператора разрешения области (: :). […]
В Codeigniter get_instance() – глобально доступная функция, которая возвращает супер-объект Controller, который содержит все загруженные классы (он возвращает экземпляр класса Controller). Я буду включать текущий исходный код: get_instance() определяется в Codeigniter.php // Load the base controller class require BASEPATH.'core/Controller.php'; function &get_instance() { return CI_Controller::get_instance(); } И CI_Controller определяется в Controller.php class CI_Controller { private static […]
Я не хочу создавать дискуссию об Singleton лучше, чем статическую или лучше глобальной, и т. Д. Я читал десятки вопросов о подобных предметах на SO, но я не мог ответить на этот КОНКРЕТНЫЙ вопрос, поэтому я надеюсь теперь кто-то может осветить меня, ответив на этот вопрос одним (или более) реальными простыми примерами , а не […]
Я пытаюсь создать простой в использовании одноэлементный класс для подключения к базе данных mysql и делать запросы, код работает отлично, и у меня не было никаких проблем с ним, но поскольку я новичок в ООП, мне интересно, это плохая практика или нет. Вот класс class Database { private $databaseName = 'dbname'; private $host = 'localhost'; […]
class SingleTon { private static $instance; private function __construct() { } public function getInstance() { if($instance === null) { $instance = new SingleTon(); } return $instance; } } В приведенном выше коде изображен шаблон Singleton из этой статьи. http://www.hiteshagrawal.com/php/singleton-class-in-php-5 Я ничего не понял. Я загружаю этот класс в свой проект, но как бы мне создать […]