(29 сен 2014, 05:09) (
0/
0)
[
0]
donttime,
переписал)) думаю что делать с view-ером))
Добавлено 29.09.14 в 06:05:05:
Вот собсно доведенное до ума ВЕБ приложение на вмс. (есть маленькие недочеты, но всё исправимо(=)
(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]
з.ы недавно начал писать, т.к пока пусто, но нужно ваше мнение.