Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Какие зарплаты сейчас у (Senior) PHP-Entwickler?

25.07.22 20:40
Re: Какие зарплаты сейчас у (Senior) PHP-Entwickler?
 
uscheswoi_82 коренной житель
в ответ alex445 25.07.22 00:59
А как выглядит проект на пыхе из сотен классов?

Обычно можно сделать маленькие PHP файлы, которые можно вызвать по AJAX.

Пример поиск песен, который вызывается по AJAX:

<?php
require_once('./config/config.php');
require_once('./libs/core/mod_core.php');
require_once('./libs/core/mod_database.php');
require_once('./libs/core/mod_audio.php');
session_start();
if(!isset($_SESSION['UserID']))
  exit;
header('Content-Type: application/json');
$arr_files = array();
$arr_files = audio_find('%' . @$_POST['title'] . '%', 0, 10000);
die(json_encode($arr_files));
?>



И как его код миксуется с разметкой?


Пример MVC:


index.php:

<?php
  require_once('./controller/MainController.php'); // Подключаем контроллер MainController.php
  $mc = new MainController; // Объект mc - MainController
  // Если action не существует, или action пустой, то $str_action по умолчанию будет index
  if(!isset($_REQUEST['action']) || is_null($_REQUEST['action'])) 
    $str_action = 'index';
  else
    $str_action = $_REQUEST['action']; // Иначе считываем action
  // Обработка action
  switch($str_action) {
    case 'index':
     echo $mc->action_index(); // Если action = index, то вызываем метод из MainController action_index(), и отображаем 
    break;
  }
?>


Контроллер MainController.php:

<?php
  require_once('./model/main.php');
  function show($filename, $values = NULL) {
    ob_start();
    if(isset($values))
      extract($values);
    include($filename);
    return ob_get_clean();
  }
  class MainController {
    public function action_index() {
      $mm = new MainModel; // Объявляем MainModel
      $str_view = show('./view/home.php', array('person' => $mm->get_items())); 
      return show('./view/template.php', array('title' => 'Home', 'content' => $str_view));
    }
  }
?>


Модель MainModel.php:

<?php
class MainModel {
   private $arr_items; 
   public function __construct() {
     $this->arr_items = array('firstname' => 'Anton', 'lastname' => 'Popov', 'gender' => 'M', 'birthday' => '01.05.1980');
   }
   public function get_items() {
     return $this->arr_items;
   }
}
?>


Шаблон template.php:

<html>
<head>
  <title><?=$title; ?></title>
</head>
<body>
  <?=$content; ?>
</body>
</html>


Вьюшка home.php

<h1>Home</h1>
<?php foreach($person as $k => $v): ?>
  <div><?=$k; ?>=<?=$v; ?></div>
<?php endforeach; ?>
</table>
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
 

Перейти на