Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 7

Можно ли выносить тело функции за пределы класса?

10.02.2014, 00:58. Показов 1631. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нельзя ли в PHP выносить тело функции за пределы класса(как в си++), чтобы не загромождать его?( или даже в другой файл)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    class NewsDB implements INewsDb
    {
        protected $_db;
        const DB_NAME='C:\Users\Ilya\Documents\PHP_tutor(files)\news\news.db';
        function __construct()
        {
            $this->_db=new SQLite3(self::DB_NAME);
        }
        function __destruct()
        {
            unset($this->_db);
        }
        function saveNews($title, $category, $description, $source){}
        function getNews(){}
        function deleteNews($id); // ошибка!!!
    }
    NewsDB::deleteNews($id) // пытался вынести метод
    {
        echo "hello";
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2014, 00:58
Ответы с готовыми решениями:

Можно ли в классе заполнять тело функции?
#include <iostream> using namespace std; class Temp { int a; int b; public: int Func(int); int (*pF)(int); void Rec();...

Какими способами можно использовать функции класса B, как параметры функции Sub класса А?
class A {... void Sub(...); ...} class B : ... { public: float f1(float); float f2(float); ...

Можно ли как то выносить XAML ?
У меня есть страница (Page). На ней находиться 2 грида, мне их очень не удобно редактировать в одном файле, я всё время между ними путаюсь....

9
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
10.02.2014, 03:47
— Можно ли вынести тело функции за пределы класса?
Да, можно.
— А как это сделать?
Этого не стоит делать.
— Почему?
В общем случае, PHP это интерпретатор, а значит, что все описанное, будет происходить в run-time. И любые костыльные операции будут снижать производительность и могут лишить возможность нормального дебага.
1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 7
10.02.2014, 22:13  [ТС]
ilikesmile, так как это можно сделать?
Желательно код. Спасибо
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
10.02.2014, 22:14
Можно, через trait к примеру.
Но не стоит это делать.

Класс не должен быть большим. Тогда и проблем не будет.
И тем более не будет никаких проблем, если ты научишься использовать нормальные инструменты для разработки (IDE).
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 7
10.02.2014, 22:56  [ТС]
OnYourLips, спасибо за ответ. А без типажей никак нельзя?
Не могли бы Вы исправить мой код, чтобы он работал с вынесенной функцией?
И последнее, какие Вы мошли бы посоветовать средства IDE для разработки?
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
10.02.2014, 23:01
Ctrl + F12 в PhpStorm спасет тебя от твоего странного порочного желания.
0
71 / 71 / 13
Регистрация: 01.09.2011
Сообщений: 379
10.02.2014, 23:23
Цитата Сообщение от OnYourLips Посмотреть сообщение
Ctrl + F12 в PhpStorm спасет тебя от твоего странного порочного желания.
А что делает ctrl+f12 в шторме?
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
10.02.2014, 23:24
Проверь.
0
71 / 71 / 13
Регистрация: 01.09.2011
Сообщений: 379
10.02.2014, 23:29
Цитата Сообщение от OnYourLips Посмотреть сообщение
Проверь.
У меня раскладка другая.
0
 Аватар для V@D!k
249 / 249 / 98
Регистрация: 26.07.2010
Сообщений: 1,685
14.02.2014, 11:13
какую вы задачу решаете, что для этого необходимо вынести функцию за пределы класса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2014, 11:13
Помогаю со студенческими работами здесь

Можно ли импликацию выносить за скобки?
Есть выражение : (x -> y) v (x -> z) Если вынести "x ->" за скобку, то получится x -> (y v z). Является ли это составное высказывание...

можно ли выносить код адсенса в отдельный файл?
можно ли выносить код адсенса в отдельный файл php и потом его инклюдить в страницу с контентом? или это плохо скажется на определении...

Можно ли сделать поле класса параметром функции-члена этого же класса?
Здраствуйте. ref class MyClass { private: int i, j; array<array<int>^>^ X1; array<array<int>^>^ X2; public: ...

Выносить все в отдельные функции или только то что стоит вынести?
Какие плюсы и минусы вынесения всего что только можно в отдельные функции? Тех кого я смог поспрашивать лично, высказали такие плюсы: ...

Как вынести описание методов вложенного класса за пределы класса?
Подскажите, пожалуйста, как мне вынести описание методов вложенного класса за пределы класса?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru