Всем привет в этой теме задаем вопросы по OOP, выкладываем полезные классы (авторство обязательно), коды, которые могут быть полезны в каком-либо роде.
ОБСУЖДЕНИЕ
ТОП | [PHP] Программируем на OOP
пример свой выложи для старта
Пример синглтона, одиночного класса. В моем случае мне нужно работать с PDO, поэтому я вызываю его.
<?php
/**
* Обработчик
*/
class dbhandler
{
private static $_instance;
/**
* Получение экземпляра
*/
public static function getInstance ()
{
if (empty (self::$_instance)) {
self::$_instance = new PDO ('mysql:host=localhost;port=3306;dbname=testdb;charset=utf8', 'root', '', array (
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
}
return self::$_instance;
}
}
readln(e);
i:=0;
y:=0;
Repeat
i:=i+1;
y:=y+1/i;
Until 1/i<e;
вот смотри это же код оператор цикла
но какого именно,не пойму
i:=0;
y:=0;
Repeat
i:=i+1;
y:=y+1/i;
Until 1/i<e;
вот смотри это же код оператор цикла
но какого именно,не пойму
Было задание на одном форуме,показать решение арифметики в ооп варианте. Конкретнее,передать в конструктор значения,всячески мим оперировать в классе и результат возвращать в обычные методы.
<?php class Student {
public $a,$b,$c;
function __construct($a,$b,$c) {
$this->a = (double)$a;
$this->b = (double)$b;
$this->c = (double)$c;
}
function setData() {
(string)$P = $this->a + $this->b + $this->c;
echo 'Периметр: '.$P.' см ';
(string)$S = sqrt($P * ($P-$this->a) * ($P-$this->b) * ($P-$this->c));
echo 'Площадь: '.$S.' см.кв';
}
function getData() {
echo $this->setData();
}
function __destruct() {}
}
(int)$storona_A = 3;
(int)$storona_B = 8;
(int)$storona_C = 7;
(object)$Triangle = new Student($storona_A,$storona_B,$storona_C);
(string)$Triangle->getData();
//Author VITAMIN
Забыл написать, важно в ооп использовать "табуляцию" кода
class testclass
{
public function __construct ()
{
echo 'test';
}
}
Это как-то влияет на результат или оптимизацию кода?..)
Разве что на читабельность,в отдельных случаях.
Разве что на читабельность,в отдельных случаях.
binner, данет, на читабельность, согласись, лепить всё в одну кучу, при чем ооп - это порнуха.
3KZO, Если большая вложеность конструкций и если работаешь в блокноте,без IDE или спец текст редакторов.
у меня нет ничего кроме блоктона))
2 таба и вот тебе читабельность кода))
2 таба и вот тебе читабельность кода))
В качестве полезного кода, выкладываю мой класс пользователя. Писался для моего движка на MVC.
<?php
class User
{
private $dbhandler;
public function __construct ()
{
$this->dbhandler = dbhandler::getInstance ();
// Выполнение операций с авторизированным пользователем
$_SESSION['logged'] = (int) $_SESSION['logged'];
if (isset ($_SESSION['logged'])) {
$user = $this->find ((int) $_SESSION['logged']);
if (!empty ($user)) {
if (time()-$user['joinDate']>=15) {
$q=$this->dbhandler->prepare ('UPDATE `user` SET `joinDate`=? WHERE (`id`=?)');
$q->execute (array (time(), $user['id']));
}
}
}
}
/** Получить данные пользователя по id (идентификатору)
*
* @param int $id идентификатор
*/
public function find ( $id )
{
$q=$this->dbhandler->prepare ('SELECT * FROM `user` WHERE (`id`=?)');
$q->execute (array ($id));
if ($q->rowCount ()!=0) {
$user = $q->fetch ();
return $user;
}
}
}
Объясните что это за чудо такое? Трудный язык или нет?
Tera, плюсы в очень удобной работе. минусы только в том что работает на чуть-чуть медленней гавна на процедурках)
нет, не трудный.
нет, не трудный.
Что значить говна на процедурках?
Грамотный программист и на процедурке все по полочкам разложит.
ООП не пихают куда попало.
Грамотный программист и на процедурке все по полочкам разложит.
ООП не пихают куда попало.
binner, Нормальные программисты не пишут на процедурке.
лол
http://govnokod.ru/16512
1. Создать массив чисел от 1 до 100. Вывести все элементы массива, которые кратны 3 и не кратны 12. (ООП головного мозга)
И таких примеров много..
1. Создать массив чисел от 1 до 100. Вывести все элементы массива, которые кратны 3 и не кратны 12. (ООП головного мозга)
И таких примеров много..
binner, Ты ооп понимаешь?
Да,но его не стоит пихать во все места,т.к это не оправдывает себя.
binner, А кто написал, что его стоит впихивать куда попало?
Страница 1 из 2 · Всего записей: 22