{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1. [автор] (25 сен 2014, 20:58) [0/0] [0] [отв] [спам] [под] +1 | -1

Всем здрасть, начал писать мвс (ненавижу его).

[code]
-application
--components
---controller.php

<?php

/**
*
*
*/

class controller {

public $model, $mysqli;
function __construct($model) {

$this->model = $model;

$this->mysqliConnection();

}

function mysqliConnection() {

$mysqli = new mysqli('localhost', 'root', '', 'test');

}
}

---model.php

<?php

class model {

}

---view.php

<?php

class view {

public $model;
function __construct($model) {
$this->model = $model;
}

public function output($data = null) {

}

}

--controllers
--models
--views
index.php

<?php

include 'application/components/controller.php';
include 'application/components/model.php';
include 'application/components/view.php';

$req = split('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$req[1] = $req[1] ? $req[1] : 'home';
$req[2] = $req[2] ? $req[2] :'index';

if (!file_exists('application/controllers/' . $req[1] . '.php')) {
exit;
}
if (!file_exists('application/models/' . $req[1] . '.php')) {
exit;
}

include 'application/models/' . $req[1] . '.php';

$model_name = 'model_' . $req[1];
$model = new $model_name();

include 'application/controllers/' . $req[1] . '.php';

$controller_name = 'controller_' . $req[1];
$controller = new $controller_name($model);

if (!method_exists($controller, 'action_' . $req[2])) {
exit;
}

$action_name = 'action_' . $req[2];
$controller->$action_name();

$view = new view($model);
$view->output();
[/code]
з.ы недавно начал писать, т.к пока пусто, но нужно ваше мнение.


Изм. 3 раз. / Посл. изм. (25 сен 2014, 21:00)
2.
donttime * [мошенник] 9.68
(25 сен 2014, 20:59) [0/0] [0] [отв] [спам] [под] +1 | -1

function __construct($model) {
$this->model = $model;


Это лишнее же *
Добавлено 25.09.14 в 21:00:44:
Загрузи на dumpz.org

3. [автор] (25 сен 2014, 21:00) [0/0] [0] [отв] [спам] [под] +1 | -1
donttime,

почему?

4. [автор] (25 сен 2014, 21:01) [0/0] [0] [отв] [спам] [под] +1 | -1
donttime,

или ты предлогаешь new model();?

5.
donttime * [мошенник] 9.68
(25 сен 2014, 21:10) [0/0] [0] [отв] [спам] [под] +1 | -1

Z[Э]rtroiL, я ничего не предлагаю, но это безумство модель отправлять в конструктор класса который будет наследоваться, проще как по мне не марасить, а сделать отдельный метод model() в этом же классе, что бы в дочерних просто вызывать как $this->model('user'); и всего то *
Добавлено 25.09.14 в 21:11:42:
А вот подключение к бд стоило бы сделать в конструкторе *

6. [автор] (25 сен 2014, 21:17) [0/0] [0] [отв] [спам] [под] +1 | -1
donttime,

[code]
public function modelload($name) {
include 'application/models/' . $name . '.php';
return new $name();
}
[/code]

7.
donttime * [мошенник] 9.68
(25 сен 2014, 21:18) [0/0] [0] [отв] [спам] [под] +1 | -1

Z[Э]rtroiL, именно *

8. [автор] (25 сен 2014, 21:19) [0/0] [0] [отв] [спам] [под] +1 | -1
donttime,

ну дык не все же мне в моделях писать, например юзера в контроллер... всмысле, можно сразу втыкать в контроллер.


Изм. 1 раз. / Посл. изм. (25 сен 2014, 21:19)
9.
donttime * [мошенник] 9.68
(25 сен 2014, 21:20) [0/0] [0] [отв] [спам] [под] +1 | -1
t,fkf;f,fufl.re,

Я тебе про Ивана, ты мне про Болвана. Делай как душе угодно, я дал лишь совет, а прислушиваться к нему или нет, решать тебе. Всё я чай пить пошел *

10. [автор] (25 сен 2014, 21:21) [0/0] [0] [отв] [спам] [под] +1 | -1
donttime,

да это ясно, в новой версии мвс этот метод есть, но я чет подумал его не использовать..

Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 1
Скачать тему | Файлы темы | Фильтр сообщений