Ответы пользователя по тегу PHP
  • Что должен включать в себя Framework?

    @poniyur
    шаблоны проектирования можете посмотреть как раз в тех фреймворках, с которыми вы познакомились (либо сами разбирайте исходники, либо поищите людей, которые это уже сделали и выложили на ютюб, уверен, такие есть).
    в yii есть события, волшебные геттеры/сеттеры, Active Record, синглтон вроде и многое многое другое (фреймворки буквально состоят из паттернов, т.к. они облегчают разработку).
    Что должен включать в себя фреймворк? тот функционал, что вам от него нужен.
    Ответ написан
    Комментировать
  • Как передать значения из ссылки в скрипт?

    @poniyur
    //например  'https://mysite/image/10/15';
    $aUri = explode('/', $_SERVER['REQUEST_URI']);
    
    $y= array_pop($aUri);
    $x = array_pop($aUri);
    
    var_dump($x);
    var_dump($y);

    output:
    string(2) "10"
    string(2) "15"


    Решение для вашего примера, но я бы настроил чпу и их грамотные разбор, либо использовал готовые решения (зависит от того, что вы используете: цмс/фреймворк/чистый php)
    Ответ написан
    2 комментария
  • Какие технологии вы используете при разработке web?

    @poniyur
    1. Переход на SASS/LESS не избавит вас от спагетти кода из стилей. В этом вам помогут всякие методологии ведения стилей.
    2. Тут тоже надо с головой делать, а не кинуть всё в один файл. Попробуйте, почитайте, свяжите сборщик со своими SASS/LESS пусть компилируют в CSS, в общем: полезно для фронта. Но для вашего проекта - не жизненно необходимо, проблемы то (по вашим словам) в архитектуре, а сборщики это не решают
    3, 4 - ...
    5 - https://getjump.github.io/ru-php-the-right-way/ : читайте, читайте про PSR
    6 - Так же как и других кодов. Тут недавно накидывали лит-ры про тестировании - погуглите в общем

    Какие использую я: на данный момент нет пет-проектов, а описывать, что есть на работе не вижу смысла.
    Мб другие подскажут. Можете просто погуглить вакансии, там, обычно, указывают стек технологий
    Ответ написан
  • Как сравнить 2 массива. Нужно узнать % сходства?

    @poniyur
    Условие: массивы должны быть одинаковой длиной.
    В ином случае вам придется модифицировать код, я лишь написал функцию, работающую под ваш случай.
    $a=Array(1,1,0,1,0);
    $b=Array(0,0,0,1,0);
    
    function getSimilarity($a1, $a2) {
        $c1 = count($a1);
        $same = 0;
        
        for($i = 0; $i < $c1; $i++) {
            if($a1[$i] == $a2[$i]) {
                $same++;
            }
        }
        
        return 100 * $same / $с1;
    }
    
    print_r( getSimilarity($a, $b) . '%' );
    Ответ написан
  • Как на php выводить данные переменной с промежутками лет?

    @poniyur
    рофл
    /////
    $m = 'жен.';
    $age = 35;
    
    /////
    $texts = [
    	'муж.' => ['Текст для мужчины 18-60 лет', 'Текст для деда'],
    	'жен.' => ['Текст для женщины 18-60 лет', 'Текст для бабуси'],
    	'общ.' => ['Текст для гендерно-нейтрального обращения', 'Тоже самое, ток по-старше'],
    ];
    $age_limits = [18, 60, 90];
    $too_young_text = "Извини, тебе меньше $age_limits[0] лет. САСИ.";
    $too_old_text = "Извините, вы слишком старый(ая, ое). Родитесь плз попозже.";
    
    $text_variant = -1;
    foreach ($age_limits as $age_step) {
    	if( $age >= $age_step ) $text_variant++;
    }
    
    if( $text_variant < 0 ) {
    	echo $too_young_text ;
    } else if( $text_variant == count($age_limits) - 1 ) {
    	echo $too_old_text ;
    } else {
    	echo $texts[$m][$text_variant]; 
    }
    Ответ написан
    Комментировать
  • Как переписать функцию, чтобы понимал PHP 5.4?

    @poniyur
    Переписать начало функции на:
    function add()
    {
       $complexValues = func_get_args();

    А далее тело функции как шло пусть так и идёт
    Ответ написан
    Комментировать