Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827

Настройка MVC роутов

30.12.2020, 11:05. Показов 3583. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Пробую разобраться с ООП и в частности с MVC. Создал такую структуру:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
conf\
  config.php
  db.php
  route.php
controllers\
  Controller.php
  IndexController.php
models\
  IndexModel.php
  Model.php
views\
  main.tpl.php
  View.php

Содержимое config.php
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo 'config.php zagrugen1<br>';
define("ROOT", "localhost");
define("CONTROLLER_PATH", ROOT."/controllers/");
define("MODEL_PATH", ROOT."/models/");
define("VIEW_PATH", ROOT."/views/");
 
require_once("db.php");
require_once("route.php");
require_once (MODEL_PATH.'Model.php');
require_once VIEW_PATH.'View.php';
require_once CONTROLLER_PATH. 'Controller.php';
 
Routing::buildRoute();
echo 'config.php zagrugen2<br>';

Содержимое Model.php
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
echo 'models<br>';
class Model {
    protected $db = null;
 
    public function __construct() {
        $this->db = DB::connToDB();
    }
}

Содержимое route.php
Кликните здесь для просмотра всего текста
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
29
30
31
32
33
34
35
36
37
38
/*
** Класс маршрутизации
*/
 
class Routing {
 
    public static function buildRoute() {
 
        /*Контроллер и action по умолчанию*/
        $controllerName = "IndexController";
        $modelName = "IndexModel";
        $action = "index";
 
        $route = explode("/", $_SERVER['REQUEST_URI']);
 
        /*Определяем контроллер*/
        if($route[1] != '') {
            $controllerName = ucfirst($route[1]. "Controller");
            $modelName = ucfirst($route[1]. "Model");
        }
 
 
        require_once CONTROLLER_PATH . $controllerName . ".php"; //IndexController.php
        require_once MODEL_PATH . $modelName . ".php"; //IndexModel.php
 
        if(isset($route[2]) && $route[2] !='') {
            $action = $route[2];
        }
 
        $controller = new $controllerName();
        $controller->$action(); // $controller->index();
 
    }
 
    public function errorPage() {
 
    }
}

При подключении выдает ошибку и предупреждение:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
main page
config.php zagrugen1
Присоединили файл базы
 
Warning: require_once(localhost/models/Model.php): failed to open stream: No such file or directory in ...\conf\config.php on line 10
Fatal error: require_once(): Failed opening required 'localhost/models/Model.php' (include_path='\xampp\php\PEAR') in ...\conf\config.php on line 10

Подскажите, где ошибка?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2020, 11:05
Ответы с готовыми решениями:

организация роутов в системе
интересует Ваше мнение по поводу организации роутов в системе : к примеру есть контроллер AdminController , в нем есть некий екшн...

Структура роутов
Я еще новичок, и что-то намудрил с роутами. Я так понимаю нужно изменять структуру полностью. Посоветуйте что сделать, чтобы я мог получить...

Настройка ASP.NET 5 с MVC 6
Разбираюсь в работе ASP.NET 5 с MVC 6 на основании автогенерируемого template-проекта в Visual Studio. При попытке запуска проекта на...

49
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
30.12.2020, 14:13
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от sad67man Посмотреть сообщение
Приведите пример, может я не совсем понимаю о чем идет речь)
Например, просто добавление или удаление статических файлов в публичном каталоге.

Цитата Сообщение от sad67man Посмотреть сообщение
если мы допустим уже определили константу WEB_ROOT
В дополнение к константе для корня проекта? Тогда пожалуйста. Главное, не нужно обозначать два разных по смыслу каталога одной константой, даже если в каком-то частном случае эти каталоги совпадают.

Кстати, определить WEB_ROOT можно и через $_SERVER['DOCUMENT_ROOT']. Но не нужно корень проекта определять через эту переменную.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
30.12.2020, 14:21
Цитата Сообщение от estic Посмотреть сообщение
Например, просто добавление или удаление статических файлов в публичный каталог.
В данном примере константа WEB_ROOT - это собирательный образ единого доступа к папке как в консоле, так и в web, так как некоторые функции могут вызываться и там и там. К примеру в Yii2 такие вещи делаются через алиасы
PHP
1
Yii::getAlias('@webroot/uploads/image.png');
В ларавеле на сколько я знаю используют функции к примеру
PHP
1
public_path('uploads/image.png');
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
30.12.2020, 14:28
Цитата Сообщение от sad67man Посмотреть сообщение
но это делаю через консоль. Там $_SERVER['DOCUMENT_ROOT'] не сработает.
Под Web-приложением я подразумевал скрипт, запускаемый Web-сервером.

Добавлено через 4 минуты
Цитата Сообщение от sad67man Посмотреть сообщение
В данном примере константа WEB_ROOT - это собирательный образ единого доступа к папке как в консоле, так и в web
С "собирательным образом" все понятно. Если вы не используете консольных приложений, можно определить WEB_ROOT через $_SERVER['DOCUMENT_ROOT']. Если вдруг начинаете использовать, нужно будет переопределить без использования этой переменной.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
30.12.2020, 14:31
Цитата Сообщение от estic Посмотреть сообщение
С "собирательным образом" все понятно. Если вы не используете консольных приложений, можно определить WEB_ROOT через $_SERVER['DOCUMENT_ROOT']. Если вдруг начинаете использовать, нужно будет переопределить без использования этой переменной.
Ну если только так) Если сильно хочется использовать $_SERVER['DOCUMENT_ROOT']. Но так как мы говорим об организации своего MVC фреймворка, я бы не стал такое советовать)
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
30.12.2020, 14:39
Цитата Сообщение от sad67man Посмотреть сообщение
я бы не стал такое советовать)
А я и не советовал. Я написал, что допустимо и в каком именно случае

Добавлено через 3 минуты
Кстати, (пере)определение констант под конкретную ситуацию вполне укладывается в рамки организации MVC-фреймворка.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
30.12.2020, 14:46
Цитата Сообщение от estic Посмотреть сообщение
Кстати, (пере)определение констант под конкретную ситуацию вполне укладывается в рамки организации MVC-фреймворка.
Да для того и нужна система конфигураций. Чтоб их можно было менять)
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
30.12.2020, 15:15  [ТС]
Во-первых всем спасибо за такую быструю реакцию. Пока ходил по делам, столько всего успели написать )))
Цитата Сообщение от estic Посмотреть сообщение
Может, conf/config.php - это вовсе фронт-контроллер
Не совсем. Я то пробую осуществить Front Controller со входом через index.php, который лежит в корне. Вот его содержимое:
PHP
1
2
echo 'main page<br>';
require_once("conf/config.php");
Цитата Сообщение от estic Посмотреть сообщение
Автор, видимо, прежде всего хотел определить "базу проекта", но использовал для этого не самое удачное слово ROOT.
Как бы да. С формулировками у меня всегда была проблема.
Цитата Сообщение от estic Посмотреть сообщение
У автора, наверное, каталог проекта совпадает с корневым каталогом сайта
Для начала думал так сделать. Пока что куча в голове. Понимаю, что нужно начинать сразу правильно, но тяжело.
Цитата Сообщение от estic Посмотреть сообщение
Было бы интересно посмотреть, как подключается config.php
Где-то выше показал как это сделано.
Цитата Сообщение от MouseZver Посмотреть сообщение
используй $_SERVER['DOCUMENT_ROOT']
В первом варианте так и написал, правда слегка не так, но в том направлении:
PHP
1
$_SERVER['localhost']
Вроде ж надо писать свой локалхост. Пробовал и айпишник прописать.
Сейчас буду пробовать предлложенные варианты. Если сходу не получится, то уже завтра после работы буду задавать вопросы
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
30.12.2020, 15:21
Цитата Сообщение от DyadyaGe Посмотреть сообщение
Вроде ж надо писать свой локалхост. Пробовал и айпишник прописать.
Вам нужно указать путь к папке относительно файловой системы. Причем тут localhost или айпишник?
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
30.12.2020, 15:51  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Вам нужно указать путь к папке относительно файловой системы. Причем тут localhost или айпишник?
Видимо подзабыл, что нужно писать. Больше года php не трогал. А тут ещё и новая тема.
Но если прямо прописываю $_SERVER['DOCUMENT_ROOT'], то все равно остается ошибка. Я то понимаю, что как-то не так прописываю пути, но не пойму как правильно.
Цитата Сообщение от sad67man Посмотреть сообщение
define("ROOT", dirname(__DIR__));
Тоже пока ничего не дало
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
30.12.2020, 15:52
Цитата Сообщение от DyadyaGe Посмотреть сообщение
Тоже пока ничего не дало
Текст ошибки в студию) Там написано по какому пути пытается найти файл.
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
30.12.2020, 16:07  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Текст ошибки в студию) Там написано по какому пути пытается найти файл
Спешка. Не обратил внимание. Сам файл Model.php подключился. Там другая ошибка. Привожу её и убегаю до завтра скорее всего:
PHP
1
2
3
Warning: require_once(путь до папки с проектом/controllers/имя папки проектаController.php): failed to open stream: No such file or directory in путь до папки с проектом\conf\route.php on line 25
 
Fatal error: require_once(): Failed opening required 'путь до папки с проектом/controllers/папка с проектомController.php' (include_path='\xampp\php\PEAR') in путь до папки с проектом\conf\route.php on line 25
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
30.12.2020, 18:00
Цитата Сообщение от DyadyaGe Посмотреть сообщение
Не совсем. Я то пробую осуществить Front Controller со входом через index.php, который лежит в корне. Вот его содержимое
"main page"? Когда уберете это недоразумение, наглядно показывающее, что вы пока не в полной мере понимаете суть архитектуры с фронт-контроллером, останется только подключение config.php, т.е. по факту функционал фронт-контроллера зачем-то перенесен в config.php. __DIR__ или производную от нее константу нужно использовать во всех подключениях за исключением тех, в которых база берется из include_path. Можно определить "базу проекта" прямо во фронт-контроллере и тут же использовать ее для подключения config.php. В конфигурационном файле оставьте одни декларативные команды.

Цитата Сообщение от DyadyaGe Посмотреть сообщение
Для начала думал так сделать. Пока что куча в голове. Понимаю, что нужно начинать сразу правильно, но тяжело.
"Правильно" обычно делается легче, а не тяжелее. Ну, по крайней мере "облегчает жизнь" в общем. Следует различать "корень проекта" и "корень сайта". Первый обычно является надкаталогом для второго. Из php-файлов в корневом каталоге сайта оставляете в худшем случае только фронт-контроллер. Можно и фронт-контроллер убрать из корневого каталога, как я показывал в сообщении по ссылке выше, если есть такая возможность.
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
31.12.2020, 14:19  [ТС]
Цитата Сообщение от estic Посмотреть сообщение
main page"? Когда уберете это недоразумение, наглядно показывающее, что вы пока не в полной мере понимаете суть архитектуры с фронт-контроллером
Я как бы и не отрицаю, что не до конца понимаю суть архитектуры. Но вот надпись мне помогает отследить подключение страниц и что конкретно на них успело сработать. Ещё люблю писать что-то типа "после функции такой-то", "ОТкрыт такой-то файл" и тп. ... В давнной ситуации эта надпись показывает, что index.php загрузился.
Цитата Сообщение от estic Посмотреть сообщение
"Правильно" обычно делается легче
Не закончил фразу. Понимаю, что нужно начинать сразу правильно, но тяжело понять как правильно.
Цитата Сообщение от sad67man Посмотреть сообщение
Там написано по какому пути пытается найти файл.
Так что скажите про пути? Ощущение, что где-то слэш недоставляет или двоит
Цитата Сообщение от estic Посмотреть сообщение
зачем-то перенесен в config.php
А где правильней? Ведь не в index.php? И какова должна быть правильная конфигурация сайта (структура папок)? Вернее варианты.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
31.12.2020, 14:57
Цитата Сообщение от DyadyaGe Посмотреть сообщение
А где правильней? Ведь не в index.php? И какова должна быть правильная конфигурация сайта (структура папок)? Вернее варианты.
Ну тут вопрос на сколько далеко вы готовы зайти) В первую очередь вам нужно перейти на автозагрузку классов согласно PSR-4
https://klisl.com/composer_autoload.html
И уже использовать namespase, вместо подключения файлов через require_once
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
01.01.2021, 12:23
Цитата Сообщение от DyadyaGe Посмотреть сообщение
В давнной ситуации эта надпись показывает, что index.php загрузился.
Да, только этот index.php не имеет никакого отношения к главной странице (main page)

Цитата Сообщение от DyadyaGe Посмотреть сообщение
А где правильней? Ведь не в index.php?
Именно в файле index.php фронт-контроллер обычно и размещают, хотя имя в общем-то может быть любым.

Цитата Сообщение от sad67man Посмотреть сообщение
И какова должна быть правильная конфигурация сайта (структура папок)?
Я вам выше писал про "корень проекта" и "корень сайта", а также про место размещения фронт-контроллера. Если есть возможность, фронт-контроллер можно разместить прямо в корне проекта. Каталоги с контроллерами и т.п. обычно не размещают непосредственно в каталоге проекта, а добавляют один промежуточный каталог, в котором и хранят все php-файлы, быть может, кроме фронт-контроллера и других "точек входа".

Следование PSR не имеет прямого отношения к ООП в общем. Эти рекомендации продвигаются разработчиками популярных фреймворков с целью унификации инфраструктуры и т.п. При необходимости вы можете совмещать в одном проекте код, написанный в соответствии с PSR, с кодом, написанным по собственным правилам.
0
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
01.01.2021, 17:25
Цитата Сообщение от estic Посмотреть сообщение
Следование PSR не имеет прямого отношения к ООП в общем.
PSR в первую очередь продвигается самими разработчиками PHP. Фреймворки стараются их поддерживать. И я говорил о PSR-4 - автоподгрузка классов. Конечно это никаким образом не имеет отношение ни к ООП, ни к структуре файлов и папок. Просто сейчас ни один проект не обходится без composer-а. И прежде чем о чем-то говорить, я бы хотел, чтоб автор внедрил его в свой проект)
0
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
02.01.2021, 20:08  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
И прежде чем о чем-то говорить, я бы хотел, чтоб автор внедрил его в свой проект)
Composer-ом несколько раз пользовался ) но как и зачем на начальной стадии его внедрять?
Ну и видимо из-за этого вы не говорите ничего про пути в тексте ошибки?
Цитата Сообщение от estic Посмотреть сообщение
Да, только этот index.php не имеет никакого отношения к главной странице (main page)
Хорошо, буду писать: "ПрЮвет, Волк" )
Цитата Сообщение от estic Посмотреть сообщение
и других "точек входа".
А разве точек входа может быть несколько?
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
02.01.2021, 22:44
Цитата Сообщение от DyadyaGe Посмотреть сообщение
А разве точек входа может быть несколько?
Могут быть различные консольные утилиты, точка входа для админки и т.п.
1
 Аватар для sad67man
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
03.01.2021, 00:15
Цитата Сообщение от DyadyaGe Посмотреть сообщение
Ну и видимо из-за этого вы не говорите ничего про пути в тексте ошибки?
Я думал. Что вы уже разобрались. Ругается, что не может найти подключаемый файл по указанному пути. Проверьте правильный ли путь и есть ли там файл.

Цитата Сообщение от DyadyaGe Посмотреть сообщение
Composer-ом несколько раз пользовался ) но как и зачем на начальной стадии его внедрять?
У composer-a есть уже реализованный автолоудер классов. Сейчас ни один проект без composer-a не обходится хотя-бы из-за него. Можете конечно собственный реализовать - это не так сложно, только следите, чтоб он соответствовал PSR-4. Зачем на начальной стадии? чтоб потом, когда вы все-таки решитесь его внедрить, не пришлось все переписывать)

Добавлено через 1 час 17 минут
DyadyaGe, Т.е. вместо

PHP
1
2
3
4
5
require 'router.php';
require 'db.php';
 
$router = new Router();
$db = DB::connToDB();
Использовать неймспейсы классов.
PHP
1
2
$router = new \App\Core\Router();
$pdo = \App\Core\DB::connToDB();
В данном случае файл с классом автоматически будет подключаться, как только вы начинаете к нему обращаться т. е. в момент new \App\Core\Router();

Чтоб не писать полные название классов используют конструкции use - это некие псевдонимы. Для понимания полная запись будет такая

PHP
1
2
3
use App\Core\Router as Router;
 
$router = new Router();
Т.е. мы указываем, что под Router мы будем подразумевать \App\Core\Router. Но так как последние части совпадают. "as Router" можно опустить.

Тогда получится
PHP
1
2
3
4
5
use App\Core\Router;
use App\Core\DB;
 
$router = new Router();
$pdo = DB::connToDB();
И в файле с классом должен быть прописан этот namespace

PHP
1
2
3
4
5
6
namespace App\Core;
 
class Router
{
    //...
}
Структура файлов и папок может быть абсолютно разной. К примеру

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
app\
  Core\
    Router.php
    Db.php
  Controllers\
    IndexController.php
config\
  config.php
  routes.php
views\
  layouts\
    default.php
  index\
    index.php
public\
  index.php
В composer.json мы должны указать нашу папку с корневым namespace-ом
JSON
1
2
3
4
5
6
7
{
    "autoload": {
        "psr-4": {
            "app\\": "App"
        }
    }
}
И в точке входа (index.php) нужно подключить сам автолоадер

PHP
1
require '../vendor/autoload.php';
Тогда вместо такой записи
PHP
1
2
3
4
5
6
7
$controllerName = "IndexController";
$action = "index";
 
require_once CONTROLLER_PATH . $controllerName . ".php"; //IndexController.php
 
$controller = new $controllerName();
$controller->$action(); // $controller->index();
Можно написать вот так

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use App\Core\Exceptions\NotFoundException;
 
//...
 
try {
    $controllerName = '\App\Controllers\IndexController';
    $action = "index";
 
    if (!class_exists($controllerName)) {
        throw new NotFoundException('Контроллер ' . $controllerName . 'не найден');
    }
 
    $controller = new $controllerName;
 
    if (!method_exists($controller, $action)) {
        throw new NotFoundException('Action ' . $controllerName . ':' . $action . 'не найден');
    }
 
    echo $controller->$action();
 
} catch (NotFoundException $e) {
    echo '404 - ' . $e->getMessage();
}
1
18 / 13 / 6
Регистрация: 04.04.2019
Сообщений: 827
03.01.2021, 00:42  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
Ругается, что не может найти подключаемый файл по указанному пути
Это я понимаю. Надеялся, что подскажите, где у меня не так написан путь. Расположение папок и файлов я писал, содержимое файла config и route тоже. Model вроде подключился. Остальные вроде бы сделаны по образу, но не пойму, почему не подключаются

Добавлено через 7 минут
Цитата Сообщение от sad67man Посмотреть сообщение
Т.е. вместо
Ого сколько вы успели написать, пока я думал...
Цитата Сообщение от sad67man Посмотреть сообщение
index\
index.php
public\
index.php
Два index.php?
Цитата Сообщение от sad67man Посмотреть сообщение
Для понимания полная запись будет такая
приблизительно понятно, но пробовать буду уже послезавтра
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2021, 00:42

Настройка загрузки контекста в Spring MVC JavaConfig
Привет, я работаю со Spring MVC проектом, для описание конфигураций использую java классы, JavaConfig, проект без .xml файлов. Как мне...

Настройка connetctionString для asp.net mvc 3 на windows хостинге reg.ru
Доброго времени суток. У меня проблема с сайтом asp.net mvc 3. Сайт стоит на reg.ru хостинге под windows.... Сам сайт работает, просто не...

Как широко применяется MVC в программировании на Java? Стоит ли изучать MVC?
Здравствуйте. Начинающий java-программист. Буквально недавно только закончил изучать Core. Теперь готовлюсь к собеседованиям и своей первой...

связь MVC и MVVM. Трудно ли освоить mvc параллельно с изучением ASP.NET
Здравствуйте, начал изучать ASP.NET для курсовой работы. Начал читать &quot;Мак-Дональд М., Фримен А., Шпушта М. Microsoft ASP.NET 4 с примерами...

ASP.net MVC против MVC обычного
Здраствуйте, читая книгу &quot;Сандерсон С - ASP.NET MVC3 Framework с примерами на C# для профессионалов&quot; я заметил что описание...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru