Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
118 / 5 / 4
Регистрация: 05.05.2013
Сообщений: 336

Include и классы

15.12.2016, 07:19. Показов 1855. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро. Это, пожалуй, один из основных вопросов: как сделать include в класс?
Перерыл кучу тем подобного рода, на некоторых идет ответ: "от такого когда блевать хочется". Тогда, закономерно рождается вопрос, а как к классу работающему с базой данных подключить файл с объявленной переменной базой данных (то бишь все хранится в одном месте), или подключить файл конфигураций, или доп. функций и т.д.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.12.2016, 07:19
Ответы с готовыми решениями:

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h>
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого города на 5% (Количество жителей всегда...

#include<iostream>// подключение библиотек #include <conio.h> #include <climits>
помогите для этой программы сделать блок-схему. Пожалуйста #include&lt;iostream&gt;// подключение библиотек #include &lt;conio.h&gt; ...

Зачем QPushButton и QLCDNumber заданы как классы, а не подключены с помощью #include
Разбираюсь с Qt по книге Шлее, там есть следующий пример #ifndef _Calculator_h_ #define _Calculator_h_ #include &lt;QWidget&gt;...

3
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
15.12.2016, 10:00
Лучший ответ Сообщение было отмечено darksector как решение

Решение

Цитата Сообщение от darksector Посмотреть сообщение
как сделать include в класс?
В класс - никак. В метод класса - также, как и в обычную функцию.

Цитата Сообщение от darksector Посмотреть сообщение
как к классу работающему с базой данных подключить файл с объявленной переменной базой данных (то бишь все хранится в одном месте)
Это зависит от архитектуры приложения. В простейшем случае где-то в начале создаётся некий контейнер (можно в виде обычного массива, можно объект паттерна Registry), в который закидываем все необходимые сервисы, в т.ч. работу с БД:

PHP
1
2
3
4
5
6
7
8
9
// Массив
$app = [];
$app['request'] = new Request();
$app['db'] = new Database(require_once('config/database.php'));
 
// Регистр
$app = new App();
$app->set('request', new Request());
$app->set('db', new Database(require_once('config/database.php'));
$app нужно передать контроллеру при его создании. И когда нам потребуется соединение с БД, возьмём его из $app.

Цитата Сообщение от darksector Посмотреть сообщение
или подключить файл конфигураций
Слишком общее описание, нужно исходить из конкретной задачи.

Цитата Сообщение от darksector Посмотреть сообщение
или доп. функций
Именно функций? Если мы говорим об ООП, может тогда лучше класс со статическими методами?

В PHP есть автозагрузка классов, читайте про spl_autoload_register.
1
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
15.12.2016, 12:27
Цитата Сообщение от darksector Посмотреть сообщение
как к классу работающему с базой данных подключить файл с объявленной переменной базой данных (то бишь все хранится в одном месте), или подключить файл конфигураций, или доп. функций
Использовать трейты. Но насколько это будет правильно уже другой вопрос.
0
118 / 5 / 4
Регистрация: 05.05.2013
Сообщений: 336
15.12.2016, 14:19  [ТС]
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Использовать трейты. Но насколько это будет правильно уже другой вопрос.
Да я уже подумал переписать весь класс еще раз (3-ий).

Пишу класс для добавления \ удаления ссылок в реальном времени из карты сайта. Но, т.к. количество ссылок растет в алгебраической прогрессии, то увеличивается и время добавления \ удаления.

Сначала писал обычный перебор по картам сайта. По моим подсчетам при 3 миллионах ссылок примерное время выполнения почти минута. (смутно уже помню сколько точно, т.к. делал месяца 5 назад). Там есть фишка: проверка на похожие ссылки, т.е. если такая ссылка уже сущ. то не добавляется. Поэтому несколько "объявлений" могут ссылатся на 1 ссылку в карте сайта.

Из-за всего этого решил сделать через проверку в БД. Вроде как работает, и скорость увеличилась в разы (по старым тестам), но сам класс выглядит так, словно "каша из топора, вил, копыта и прочего..."
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.12.2016, 14:19
Помогаю со студенческими работами здесь

Чем отличается #include <cstring>, #include <string> и #include <string.h>?
Доброго времени суток :) Пишу свой класс и мне для нужны функции для работы со строками. Когда подключаю #include &lt;string&gt; все...

Warning: include(1) [function.include]: failed to open stream: No such file or directory in
Выдает вот такую ошибку Warning: include(1) : failed to open stream: No such file or directory in...

Warning: include(templates.php) [function.include]: failed to open stream: No such file or directory
Как исправить ошибку, этот текст выдает на главной странице

В чем суть директив #include <Windows.h> #include <stdlib.h>
/*хочу сделать простую графическую программу ранее работал с turbo 3.0 я так понимаю &lt;graphics.h&gt; это что-то вроде &lt;Windows.h&gt;...

Warning: include(Z:/home/localhost/www/layout/header.php) [function.include]: failed to open stream: No such f
Столкнулся с такой проблемой не инклудится файл include $g_site_root.'/layout/header.php';?&gt;,пишет нет такого файла или папки,но все есть и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru