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

Создание простенького класса

16.10.2015, 19:47. Показов 1462. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Написал код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
    <head>
      <title>Reconstructing the Person Class</title>
      <link type='text/css' rel='stylesheet' href='style.css'/>
    </head>
    <body>
      <p>
        <?php
         class Person {
              public $isAlive = true;
              public $firstname;
              public $lastname;
              public $age;
              
              public function __constructor($firstname, $lastname, $age) {
                  $this->firstname = $firstname;
                  $this->lastname  = $lastname;
                  $this->age = $age;
              }
         }         
         $teacher = new Person("abc", "we12345", 12345);
         $student = new Person("bor", "as12", 12);
         echo $student->age;
        ?>
      </p>
    </body>
</html>
таблица стилей:
CSS
1
2
3
4
p {
    color: #009900;
    font-size: 20px;
}
На экран ничего не выводит! Просто белый экран. Второй вечер сижу, ничего понять не могу. Каждую строчку на 100 пересмотрел. Не понимаю, где ошибка.
Подскажите, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.10.2015, 19:47
Ответы с готовыми решениями:

Создание экземпляра класса-наследника для переменной с типом базового класса
Подскажите чайнику как создается экземпляр класса BC BaseClass BC = new DerivedClass(); Вопрос: BC - это экземпляр класса BaseClass...

Явное создание экземпляра класса и явная специализация шаблона класса
Всем добрый день! Не могу разобраться - эти две технологии дают один и тот же результат? В каких случаях применять одно и другое?...

Создание тестового класса (метода) для готового класса в Java
Может я чего-то не понимаю. Так вот.Припустим я создал готовый класс в Java,который выполняет какие-то действия.но его нужно...

14
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
16.10.2015, 20:18
Лучший ответ Сообщение было отмечено _igorek как решение

Решение

Цитата Сообщение от _igorek Посмотреть сообщение
function __constructor
__construct
1
0 / 0 / 0
Регистрация: 22.08.2015
Сообщений: 35
18.10.2015, 07:29  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
__construct
спасибо, заработало! ))
0
10 / 10 / 7
Регистрация: 18.10.2015
Сообщений: 160
18.10.2015, 10:53
можно вместо __constructor использовать имя класса, это очень полезно когда надо поменять данные не пересоздавая класс
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
18.10.2015, 11:03
Цитата Сообщение от _Фролов_ Посмотреть сообщение
можно вместо __constructor использовать имя класса
Нельзя, только в древнем php 4 можно было.
Цитата Сообщение от _Фролов_ Посмотреть сообщение
это очень полезно когда надо поменять данные не пересоздавая класс
wat?
0
10 / 10 / 7
Регистрация: 18.10.2015
Сообщений: 160
18.10.2015, 11:12
Jewbacabra,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Class ClassName {
    public $Test;
    public $PhpVersion;
    
    
    public function ClassName($Test) {
        $this->Test = $Test;
        $this->PhpVersion = phpversion();
    }
    
    public function prints() {
        return $this->Test . PHP_EOL . $this->PhpVersion;
    }
}
 
$Test = new ClassName('Текущая версия PHP: ');
echo $Test->prints() . PHP_EOL;
$Test->ClassName('версия PHP: ');
echo $Test->prints() . PHP_EOL;

Результат:

Текущая версия PHP:
5.3.8
версия PHP:
5.3.8

Добавлено через 2 минуты
Jewbacabra, какие вы умные, не работает. Даже на 5.6.2 работает
http://sandbox.onlinephpfuncti... 98d174b50e
0
0 / 0 / 4
Регистрация: 17.10.2015
Сообщений: 15
18.10.2015, 11:18
Цитата Сообщение от _Фролов_ Посмотреть сообщение
можно вместо __constructor использовать имя класса, это очень полезно когда надо поменять данные не пересоздавая класс
Вы из PHP4 пришли или из Java?

В PHP5 единственный правильный конструктор - __construct()
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
18.10.2015, 11:25
_Фролов_, а то что конкретный случай сработал значения не имеет, т.к. deprecated, и может быть спокойно выпилено в будущих версиях.
Цитата Сообщение от _Фролов_ Посмотреть сообщение
$Test->ClassName('версия PHP: ');
А вызов вручную конструктора, кроме случая когда наследуемый класс вызывает конструктор родителя, это г. код.

Ну и пример когда работает не так, как ожидается (php 5.6)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
namespace Foo {
 
    class Bar {
        public function Bar() {
        // public function __construct() {
            echo 'Bar constructor';
        }
    }
 
}
 
namespace {
    echo 'php version:', phpversion(), '<br>Output start<br>';
    new Foo\Bar();
    echo '<br>Output end';
}
Вывод
Code
1
2
3
4
php version:5.6.8
Output start
 
Output end
Если закоментить 5 и раскоментить 6 строчку, работает как и ожидается
Вывод
Code
1
2
3
4
php version:5.6.8
Output start
Bar constructor
Output end
Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от _Фролов_ Посмотреть сообщение
Jewbacabra, какие вы умные, не работает.
Ну поумнее некоторых

0
10 / 10 / 7
Регистрация: 18.10.2015
Сообщений: 160
18.10.2015, 11:39
fakeid, личный опыт... Jewbacabra, речь не заходила про пространства имен

PHP
1
2
3
4
5
6
7
class Bar {
    public function Bar() {
        echo 'Bar constructor';
    }
}
 
new Bar();
вывод: Bar constructor
0
18.10.2015, 11:43

Не по теме:

Цитата Сообщение от _Фролов_ Посмотреть сообщение
речь не заходила про пространства имен
Речь шла о неработоспособности данной конструкции в общем случае, а не частных случаях когда это недоразумение работает. К тому же в любом более менее крупном проекте без неймспейсов не обойтись.

0
0 / 0 / 0
Регистрация: 15.06.2013
Сообщений: 33
16.11.2016, 15:17
создаю таблицу стилей css.
не понимаю почему в результате белый ПУСТОЙ БЕЛЫЙ экран
нужно применить стили для таблицы
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<html>
 <head>
 <STYLE type="text/css">
body{
    background-color:#ffffff; 
    color:#aaaaaa
    }
h1{
    font-family:#arial;
    size:#18; 
    color:#CCFFCC
    }
p{
    font-family:# courier;
    color:#EEEEFF
    }
div{
    font-family:# verdanda;
    color:#EEEEFF
    }
a{
    color:#FF0101
    }
Table{ 
    color:#purple;
    font-weight:#bold;
}
 </head>
 <body>
    
    <table border="8" width="60%">
        <thead>
            <h1>Машины</h1>
        </thead>
        <tbody>
            <tr><td>Марка</td><td>Модель</td><td>Пробег</td><td>цена</td></tr>
 
        </tbody>
    </table>
    
<!--<p class="> <div> </div>-->
    
    
</body>
</html>
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.11.2016, 15:38

Не по теме:

Цитата Сообщение от nighthigt Посмотреть сообщение
создаю таблицу стилей css.
Молодец. Какое это отношение имеет к php и ООП.


Тег style надо закрывать
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.11.2016, 15:38

Не по теме:

Цитата Сообщение от nighthigt Посмотреть сообщение
создаю таблицу стилей css.
Молодец. Какое это отношение имеет к php и ООП.


Тег style надо закрывать
0
0 / 0 / 0
Регистрация: 15.06.2013
Сообщений: 33
16.11.2016, 15:48
и все равно пустой экран

Добавлено через 2 минуты
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Молодец. Какое это отношение имеет к php и ООП.
на самом деле случайно в эту тему написал)
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
16.11.2016, 15:54
Цитата Сообщение от nighthigt Посмотреть сообщение
и все равно пустой экран
http://codepen.io/anon/pen/RoGxEv
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2016, 15:54
Помогаю со студенческими работами здесь

Возможно ли создание объекта шаблонного класса в функции этого класса?
Доброго времени суток, уважаемые форумчане :) Мне по лабам задали задание - реализовать шаблон контейнера (множество) с операциями...

Создание своего класса кнопки с использованием наследования от класса UserControl
Ребят, помогите, такая проблема: создаю класс MyButton в C# при помощи наследования от класса UserControl и в классе MyButton переопределяю...

Создание экземпляра класса, имя класса находиться в строковой переменной
Подскажите люди добрые, как можно выйти из такой ситуации, вот допустим имеются классы class new1{ . . . } class new2{ . . ...

Создание объекта класса с полем являющимся объектом другого класса
Bill a; cin&gt;&gt;a;//тут я ввел с помощью перегруженного оператора ElementSpiska c; //поля у Spiska(Bill A,int,string,int) ...

Построение описания класса, создание и уничтожение объектов этого класса
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru