Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/43: Рейтинг темы: голосов - 43, средняя оценка - 4.86
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5

MVC - мой первый скрипт, оцените/исправьте/добавьте/прокомментируйте

07.12.2011, 16:37. Показов 9616. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, вот я погуглил, почитал всяких статей про MVC на PHP, поюзал немного фреймворк CodeIgniter, и решил что надо чтото в этом роде попробовать написать своё, вот и начал лепить, и щас выкладываю вам код того что налепил...
Зараннее прошу сильно не ругаться т.к. раньше никогда неписал скрипты на ООП, и неделю назад - вообще неимел понятие о том что такое MVC!!!

начну с файла .htaccess, расписывать ничего небуду, просто вот его содержимое:
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
Options -Indexes


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Далее, в корне сайта есть папка conf и cont - певая для конфигов, вторая для контроллеров...

файл index.php - в корне сайта:
PHP
1
2
3
4
5
6
7
8
9
10
11
ini_set('include_path', 'cont;conf');    
function __autoload($class)
{       
        $class=strtolower($class);
        require_once "$class.php";
        echo "<p>Сработала функция <strong>__autoload();</strong> - Загружен класс $class</p>";
}
 
 
$router=new Router();
$router->delegate();
тут, первой строкой указываем - из каких папок подключать классы, дальше функция autoload,
далее создаем обьект $router класса Router и вызываем метод delegate - который в свою очередь возьмет строку из $_GET['route'] разобьет её на куски и будет подгружать контроллерыи их методы с или без параметров...
Вот код класса Router, который находится в../conf/router.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
class Router
{
    public function delegate()
    {
        $this->get_controller($controller, $action, $vars);
        
        $cont = new $controller();
        if(!empty($action)&&!empty($vars))
        {$cont->$action($vars);}
        else{$cont->$action();}
    }
    
    private function get_controller(&$controller, &$action, &$vars)
    {
        $route_string=$_GET['route'];
        if(empty($route_string)){$route_string='index'; }
        
        $parts = explode('/', $route_string);
        
        if(empty($parts[0])){$controller='index';}
        else{$controller=$parts[0];}
        
        if(empty($parts[1])){$action='index';}
        else{$action=$parts[1];}
        
        if(empty($parts[2])){$vars=NULL;}
        else{$vars=$parts[2];}
        
    }
}
Дальше, для проверки работоспособности данной лепки, я создал два контроллера Home и Index и поместил и в папку ../cont/index.php, ../cont/home.php:

Вот контроллер Index:
PHP
1
2
3
4
5
6
7
class Index
{
    function index()
    {
        echo'<p>Вызван контроллер Индекс, по адресу: ..cont/index..</p>';
    }
}
Вот контроллер Home:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Home
{
    function index()
    {
        echo '<p>Контроллер Home - started</p>';  
    }
    
    function view_home($x=NULL)
    {
        echo '<p>Вызвана фуекция view_home, контроллера Home!!</p>';
        if($x!=NULL){echo '<p>Передан параметр Х='.$x.'</p>';}          
    }
}
}
контроллер Index - загружается по умолчанию - если переменная $_GET['route'] пустая...

в контроллере Home - есть функция index - которая работает если пуста переменная $action класса Router,
и есть функция view_home - которая может принимать параметр(по умолчанию - он = NULL) - здест тоже всё работает через delegate() класса Router.

Чудо, когда я вот так набираю в адресной строке http://localhost/home/view_home/variable, всё работает
а вот когда просто http://localhost/ - то контроллер Index - вызывается дважды........

Взглянув на этот код - сразу видно что это жесть,и первое что мне ненравится - это то что всем методам контроллеров мы можем передать только по одному параметру(который хранится в $vars) - а если надо больше - непойму как поступить,
но всёже я хочу услышать советы, поправки, и вообще может я всё тут неправильно сделал, жду ваших комментов...
Спасибо за внимание!!!
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2011, 16:37
Ответы с готовыми решениями:

Мой первый вывод новостей
Есть такое задание: 1. Создайте класс новостей для сайта. 2. Реализуйте страницу, на которой вы будете эти новости выводить...

Мой первый класс в ООП
Вот создал первый свой класс со свойством в ООП. class menu { public $get=&quot;&lt;a href='?f=1'&gt;Первый пункт&lt;/a&gt;&quot;; public...

Оцените код пожалуйста - правильно ли я понял ООП и MVC?
Здравствуйте! php изучаю уже три месяца, когда есть возможность. С ООП в php познакомился две неделии назад. До этого с ним немного имел...

57
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
09.12.2011, 17:17  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KoIIIeY Посмотреть сообщение
Выложи плз оба скрипта, которые не работают, рядом.
Ошибка явно банальная. Просто я, видимо, не вижу целой картины.
Класс Home
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Home
{        
    public $model;
    public function __construct()
    {
        $model= new Home_m();
    }
 
    
    
    public function get_file($id)
    {
         $this->model->get_f($id);
    }
    
     
}
Класс Home_m:
PHP
1
2
3
4
5
6
7
8
9
class Home_m
{
    public function get_f($id)
    {
        $result=mysql_query("SELECT `id`,`name` FROM android_files WHERE id='$id'");
        $row=mysql_fetch_array($result);
        print_r($row);
    }
}
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
09.12.2011, 17:24
И повторяю в 10-ый раз

Напиши уже дурацкий $this-> перед своей переменной $model в функции _construct(); !!!!!!!

$model - не глобальная переменная!
$this->model - переменная принадлежащая тому же классу, которому принадлежит функция _construct().

Добавлено через 1 минуту
Обьявляется как $model в классе, но вызывается как $this->model.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
09.12.2011, 17:26  [ТС]
Цитата Сообщение от KoIIIeY Посмотреть сообщение
И повторяю в 10-ый раз

Напиши уже дурацкий $this-> перед своей переменной $model в функции _construct(); !!!!!!!

$model - не глобальная переменная!
$this->model - переменная принадлежащая тому же классу, которому принадлежит функция _construct().

Добавлено через 1 минуту
Обьявляется как $model в классе, но вызывается как $this->model.
Написал так:
PHP
1
$this->model= new Home_m();
Вылетает это:
Fatal error: Using $this when not in object context

А так:
PHP
1
$this->$model= new Home_m();
Вылетает это:
Fatal error: Cannot access empty property
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
09.12.2011, 17:36
тогда допиши require('Home_m.php'); в самом начале файла. Он не подгружается автолоадером.

Добавлено через 41 секунду
$this->$model - это вообще не то. И вообще из другой степи.
Тебе нужно $this->model.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
09.12.2011, 17:41  [ТС]
Цитата Сообщение от KoIIIeY Посмотреть сообщение
тогда допиши require('Home_m.php'); в самом начале файла. Он не подгружается автолоадером.

Добавлено через 41 секунду
$this->$model - это вообще не то. И вообще из другой степи.
Тебе нужно $this->model.
нет, он грузится автолоадером:
PHP
1
2
3
4
5
6
7
ini_set('include_path', 'controls;conf;mods');   
function __autoload($class)
{       
        $class=strtolower($class);
        require_once "$class.php";
        echo "<p>Сработала функция <strong>__autoload();</strong> - Загружен класс $class</p>";
}
Выводит же:
Сработала функция __autoload(); - Загружен класс home_m

и ниже ошибка:
Using $this when not in object context

Сделал require - он и перестал грузиться, но ошибка осталась....
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
10.12.2011, 03:56
на ООП не пишу, полгода назад взялся за эту тему, но решил сначала освоить MVC на процедурном методе.
Кстати в сети читал, что если исходить по умному, то сайт лучше писать процедурно, но используя классы как библиотеки, а всю архитектуру строить на ООП - это не совсем правильно что ли.
Спорить не буду, тем более, как уже сказал с ООП знаком очень поверхностно.

Теперь к теме,
Цитата Сообщение от Sanu0074 Посмотреть сообщение
public $model;
зачем эту переменную делать публичной, если она используется только внутри класса?
Еще такая вешь, типа сохранение в self
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
class Home
{        
        // как экземпляр класса
        private static $instance;
        private $model;
 
        public static function Instance()
    {
        // если нет экземпляра класса, то создаем его
                if (self::$instance == null)
            self::$instance = new Home();
            
        return self::$instance;
    }
 
 
        public function __construct()
        {
                $this->model = Home::Instance();
        }
 
        
        public function get_file($id)
        {
                 $this->model->get_f($id);
        }
         
}
возможно это полная Ж, но в памяти именно так почему то сохранилось, может натолкнет на решение.
у тя знания посвежее

Добавлено через 3 минуты
а если надо обратиться к другому классу, тогда в конструкторе напиши имя уже того класса, который нужен (как я понял те нужен класс Home_m)
PHP
1
2
3
4
5
6
public function __construct()
{
     $this->model = Home_m::Instance();
     // кстати, и переменную $model можешь к чему-нибудь по умолчанию приравнять, напр., null
     $this->model = null;
}
Добавлено через 4 минуты
брр.., чуть не забыл, нужно проинклудить файл с другим классов в начале файла класса Home() , и думаю лучше будет использовать include_once(), поэтому наверное у тя 2 раза грузился класс или файл, забыл
1
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
10.12.2011, 14:58  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
на ООП не пишу, полгода назад взялся за эту тему, но решил сначала освоить MVC на процедурном методе.
Кстати в сети читал, что если исходить по умному, то сайт лучше писать процедурно, но используя классы как библиотеки, а всю архитектуру строить на ООП - это не совсем правильно что ли.
Спорить не буду, тем более, как уже сказал с ООП знаком очень поверхностно.

Теперь к теме,

зачем эту переменную делать публичной, если она используется только внутри класса?
Еще такая вешь, типа сохранение в self
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
class Home
{        
        // как экземпляр класса
        private static $instance;
        private $model;
 
        public static function Instance()
    {
        // если нет экземпляра класса, то создаем его
                if (self::$instance == null)
            self::$instance = new Home();
            
        return self::$instance;
    }
 
 
        public function __construct()
        {
                $this->model = Home::Instance();
        }
 
        
        public function get_file($id)
        {
                 $this->model->get_f($id);
        }
         
}
возможно это полная Ж, но в памяти именно так почему то сохранилось, может натолкнет на решение.
у тя знания посвежее

Добавлено через 3 минуты
а если надо обратиться к другому классу, тогда в конструкторе напиши имя уже того класса, который нужен (как я понял те нужен класс Home_m)
PHP
1
2
3
4
5
6
public function __construct()
{
     $this->model = Home_m::Instance();
     // кстати, и переменную $model можешь к чему-нибудь по умолчанию приравнять, напр., null
     $this->model = null;
}
Добавлено через 4 минуты
брр.., чуть не забыл, нужно проинклудить файл с другим классов в начале файла класса Home() , и думаю лучше будет использовать include_once(), поэтому наверное у тя 2 раза грузился класс или файл, забыл
идею конечно понял, но ошибка прежняя, но здесь меня натолкнуло на использование Singleton, гдето гуглил что-то описывалось о создании экземпляра одного класса в методе другого, но там я ничего непонял.....
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
10.12.2011, 16:13
Цитата Сообщение от Sanu0074 Посмотреть сообщение
но здесь меня натолкнуло на использование Singleton
да, по мойму через self это так и называлось, насколько помню. Вообще, Singleton это 1 точка входа.
Sanu0074, попробуй подключать классы без автолоуда, напрямую через include_once(), посмотри сработает или нет.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
10.12.2011, 17:03  [ТС]
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Sanu0074, попробуй подключать классы без автолоуда, напрямую через include_once(), посмотри сработает или нет.
Да, я пробовал, ничего неменяется...
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
10.12.2011, 18:47
Прикрепи код файлами, попробую так запустить.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
10.12.2011, 20:44  [ТС]
Цитата Сообщение от KoIIIeY Посмотреть сообщение
Прикрепи код файлами, попробую так запустить.
Вот файлы:
Вложения
Тип файла: rar www.rar (2.6 Кб, 23 просмотров)
0
 Аватар для Sulik78
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
10.12.2011, 22:31
Цитата Сообщение от KoIIIeY Посмотреть сообщение
Только вот массив параметров не ассоциативный, не удобно.
ну а если добавить так
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
    public static $_vars;
 
    public function __construct()
    {
        $this->router();
            
        include $this->_controller.'.class.php';
        $controller = new $this->_controller();
        $controller->{$this->_action}();
    }
    
    private function router()
    {
        $path = explode('/', parse_url(urldecode(preg_replace('|/$|', '', $_SERVER['REQUEST_URI'])), PHP_URL_PATH));
        unset($path[0]);
        $this->_controller = !empty($path[1]) ? ucfirst(strtolower($path[1])) : 'Index';
        unset($path[1]);
        $this->_action = !empty($path[2]) ? strtolower($path[2]) : 'index';
        unset($path[2]);
 
        $vars = array();
        foreach ($path as $item)
        {
           if (!empty($item))
                $vars[] = $item;
        }        
        
        $route = array(
                       'news' => array(
                            'read' => array(
                                'year' = $vars[0],
                                'month' = $vars[1],
                                'day' = $vars[2]
                            ),
                            'category' => array(
                                'name' = $vars[0]
                            )                            
                        ),
                       'ajax' => array(
                            'pay' => array(
                                'mark' = $vars[0],
                                'model' = $vars[1]
                            )
                        )                       
                    );
        $tmp = in_array($router, $this->_controller) ? $router[$this->_controller] : false;
        if(!$tmp)
            return;
 
        $tmp = in_array($router, $this->_action) ? $tmp[$this->_action] : false;
        if(!$tmp)
            return;
        
        $this->_vars = $tmp;
    }
Добавлено через 19 минут
или так

HTML5
1
2
3
4
5
        [router]
        read = "year/month/day"
        category = "name/order"
        [ajax]
        pay = "mark/model"
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
        $router = parse_ini_file('router.ini', true);
        $this->_vars = array();
        
        $path = explode('/', parse_url(urldecode(preg_replace('|/$|', '', $_SERVER['REQUEST_URI'])), PHP_URL_PATH));
        unset($path[0]);
        $this->_controller = !empty($path[1]) ? ucfirst(strtolower($path[1])) : 'Index';
        unset($path[1]);
        $this->_action = !empty($path[2]) ? strtolower($path[2]) : 'index';
        unset($path[2]);
 
        $vars = array();
        foreach ($path as $item)
        {
           if (!empty($item))
                $vars[] = $item;
        }        
        
        if (in_array($router, $this->_controller))
        {
            if(in_array($router[$this->_controller][$this->_action]))
            {
                $path = explode('/', $router[$this->_controller][$this->_action]);
                $i = 0;
                foreach($path as $item)
                {
                    $this->_vars[$item] = $vars[$i] 
                    $i++;
                }
            }
        }
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
11.12.2011, 01:11  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Home
{        
    public $model;
    public function __construct()
    {
        $this->model = new Home_m();
    }
 
    
    
    public function get_file($id)
    {
        echo $this->model;
    }
    
     
}
Когда работает канструктор, экземпляр создается и всё норм, а вот когда обращаюсь к нему в функции get_file вот так: echo $this->model; то выдает эту ошибку:
Fatal error: Using $this when not in object context

я немогу понять почему так происходит!!!
хотя вот статью прочитал, тут: http://vredniy.ru/2010/03/mvc-introdution/
именно такой способ работает!!
странно както!!
0
 Аватар для CrazyFreeMan
13 / 13 / 5
Регистрация: 06.12.2011
Сообщений: 50
11.12.2011, 01:23
хз, я вот только что попробовал
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
class Home_m
{
    public $tmp;
        public function __construct()
        {
                           $this->tmp =  "Привет";
        }
}
class Home
{        
        public $model;
        public function __construct()
        {
                $this->model = new Home_m();
        }
 
        
        
        public function get_file()
        {
                print_r ($this->model);
        }
        
         
}
 
 $a = new Home();
 $a->get_file();
Результат на экране:

Home_m Object ( [tmp] => Привет )
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
11.12.2011, 01:32  [ТС]
Цитата Сообщение от CrazyFreeMan Посмотреть сообщение
хз, я вот только что попробовал
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
class Home_m
{
    public $tmp;
        public function __construct()
        {
                           $this->tmp =  "Привет";
        }
}
class Home
{        
        public $model;
        public function __construct()
        {
                $this->model = new Home_m();
        }
 
        
        
        public function get_file()
        {
                print_r ($this->model);
        }
        
         
}
 
 $a = new Home();
 $a->get_file();
Результат на экране:

Home_m Object ( [tmp] => Привет )
так будет работать, потомучто ты тут обращаешся:
$a = new Home();
$a->get_file();

у меня не так обращение идет, почитай тему полностью, поймеш что откуда берется и файлы я выше выкладывал можеш кинуть их себе и попробовать запустить!
0
 Аватар для CrazyFreeMan
13 / 13 / 5
Регистрация: 06.12.2011
Сообщений: 50
11.12.2011, 02:23
Читал-читал не пойму что нужно и где есть проблема. Скачал твои исходники, запустил - все ок, кроме мелких ошибок ничего не заметил. версия php какая? лучше не опускать указание public private static(читал где-то выше что ты надеешься на то что переменные по стандарту идут паблик) и правильное обращение к соответствующим типам.
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
11.12.2011, 03:15  [ТС]
Цитата Сообщение от CrazyFreeMan Посмотреть сообщение
Читал-читал не пойму что нужно и где есть проблема. Скачал твои исходники, запустил - все ок, кроме мелких ошибок ничего не заметил. версия php какая? лучше не опускать указание public private static(читал где-то выше что ты надеешься на то что переменные по стандарту идут паблик) и правильное обращение к соответствующим типам.
PHP 5.3, всё указанно(public private static)
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
12.12.2011, 08:11
поставь 5.3.8, проадпейть апач/nginx. Хз потому что тоже.

Добавлено через 53 секунды
Скопируй папку в соседний домен, в конце концов Выключи кэширование. Смени расу, пол, место проживания
0
 Аватар для Sanu0074
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
12.12.2011, 11:26  [ТС]
Цитата Сообщение от KoIIIeY Посмотреть сообщение
Скопируй папку в соседний домен, в конце концов Выключи кэширование. Смени расу, пол, место проживания
в идиотских советах ненуждаюсь!
0
163 / 163 / 9
Регистрация: 08.01.2011
Сообщений: 850
12.12.2011, 11:51
Цитата Сообщение от Sanu0074 Посмотреть сообщение
в идиотских советах ненуждаюсь!
Ну и зря. У меня были случаи, когда на одном домене работало, а на другом рядом - нет.
На дэнвере, на одном компе, различие - название папки. А так - две копии.

Не знаю, с чем было связано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.12.2011, 11:51

Оцените мой код. Знания в Веб технологиях у меня не маленькие и опыт тоже!
Ребят, нет времени объяснять, вообщем оцените мой код. Есть база данных с таблицей аккаунтов, в ней 10.000 записей, вот я короче делаю...

Оцените мой первый урок по С++
Тут вот недавно приспичило урок по С++ написать. Сделано, а вот понять что за зверек получился надо (я про вас). Стоит ли продолжать или я...

Оцените мой первый сайт на php
Здравствуйте,cоздал первый сайт на php дайте какие нибудь советы по дизайну и другим дороботкам ,форум сайта еще не заполнен так как я сайт...

Проверка на дырки, мой первый работоспособный скрипт регистрации и авторизации
Привет всем. Значит так, я новичок во всем этом(программирование). Я написал скрипт авторизации и регистрации. Вот интересно в нем...

Исправьте/добавьте, пожалуйста, в программе код, чтобы стала работающей
Среднее из чётных положительных элементов. Сформировать новый динамический массив из косинусов отрицательных элементов, подсчитав их число...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru