{% else-1 %}
(29 сен 2014, 05:09) (0/0) [0]
donttime, переписал)) думаю что делать с view-ером))
Добавлено 29.09.14 в 06:05:05:
Вот собсно доведенное до ума ВЕБ приложение на вмс. (есть маленькие недочеты, но всё исправимо(=)
Прикрепленные файлы:
* PROFIWM_COM_7744_949138_fullMVC.zip (3.77 кб)
* PROFIWM_COM_7744_949138_phpmvc.zip (3.98 кб)
(25 сен 2014, 22:08) (0/0) [0]
donttime, порнуха))


[code]<?php

class controller {

protected $connection;
function __construct() {

$this->mysql();

}

private function mysql() {

$this->connection = mysql_pconnect('127.0.0.1', 'root', '');
if ($this->connection) {
if (mysql_select_db('test', $this->connection)) {

mysql_set_charset('utf8', $this->connection);

}
}
else {

}
}

}[/code]
(25 сен 2014, 21:48) (0/0) [0]
donttime, [code]
<?php

require 'application/components/controller.php';
require 'application/components/view.php';

$routes = split('/', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));

$controller_name = $routes[1] ? $routes[1] : 'home';
$action_name = $routes[2] ? $routes[2] : 'index';

if (!file_exists('application/controllers/' . $controller_name . '.php')) {
exit;
}

require 'application/controllers/' . $controller_name . '.php';
$controller = new $controller_name();


if (!method_exists($controller, 'action_' . $action_name)) {
exit;
}

$controller->$action_name();

$view = new view();
$view->output();
[/code]
Добавлено 25.09.14 в 21:49:19:
controller.php
[code]

<?php

/**
*
*
*/

class controller {

protected $mysqli;
function __construct() {

$this->mysqliConnection();

}

private function mysqliConnection() {

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

}


}

[/code]
Добавлено 25.09.14 в 21:49:47:
Убрал всё лишнее, буду думать как всё оптимизнуть))
(25 сен 2014, 21:21) (0/0) [0]
donttime, да это ясно, в новой версии мвс этот метод есть, но я чет подумал его не использовать..
(25 сен 2014, 21:19) (0/0) [0]
donttime, ну дык не все же мне в моделях писать, например юзера в контроллер... всмысле, можно сразу втыкать в контроллер.
(25 сен 2014, 21:17) (0/0) [0]
donttime, [code]
public function modelload($name) {
include 'application/models/' . $name . '.php';
return new $name();
}
[/code]
(25 сен 2014, 21:01) (0/0) [0]
donttime, или ты предлогаешь new model();?
(25 сен 2014, 21:00) (0/0) [0]
donttime, почему?
(25 сен 2014, 20:58) (0/0) [0]
Всем здрасть, начал писать мвс (ненавижу его).

[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]
з.ы недавно начал писать, т.к пока пусто, но нужно ваше мнение.
  • 1 из 1