1. PHP / Говнокод #18432

    +142

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    function array_to_file($array_name, $array, $filename = 0, $file = 0)
    {
    	$level = 1;
    	if($file == 0) {
    		$level = 0;
    		$file = fopen($filename, "w");
    		if(!$file) {
    			return false;
    		}
    		fwrite($file, "<" . "?\n\$".$array_name." = ");
        }
    
        $cnt = count($array);
        $i = 0;
        fwrite($file, "\narray(\n");
        foreach($array as $key => $value)
        {
    		if($i++ != 0) {
    			fwrite($file, ",\n");
    		}
    		if(is_array($array[$key])) {
    			fwrite($file, "\"".$key."\" => ");
    			array_to_file($array_name, $array[$key], 0, $file);
    		} else  {
    			$value = addcslashes($value, "\""."\\\\");
    			fwrite($file, str_repeat(" ", ($level + 1) * 2) . "\"".$key."\" => \"".$value."\"");
    		}
        }
        fwrite($file, ")");
    
        if($level == 0) {
    		fwrite($file, ";\n?".">");
    		fclose($file);
    		return true;
        }
    }

    Запостил: alex322, 02 Июля 2015

    Комментарии (2) RSS

    • Вот, кстати, блядского маршалинга всегда не хватало. Если бы вся индустрия пользовала какой-нибудь yml, то проблем бы не было, но еще года три назад все бляди (а laravel и yii, я так понимаю, и до сих пор) писали конфиги, как js-ебы - на нативном языке, и любая попытка автоматической правки конфига ебала мозг пуще брежнева.
      Ответить
      • Я уж молчу, когда конфиги начинают задаваться реально с использованием языка (например, в yii без __DIR__ было туго) - с ними же, блядь, кроме как руками и регэкспами никак не поработать.
        Ответить

    Добавить комментарий