статический контент в CDN с использованием PHP для получения адреса

Я новичок в программировании на PHP, но я думал, что сделаю это правильно с самого начала, поэтому я наткнулся на этот прекрасный PDF-файл Учебный курс веб-производительности, где он предлагает:

Все сайты должны всегда быть готовы к размещению статического контента через CDN.

и вот как:

<img src=”<?php echo CDN(‘/i/left-menu-background.gif’) ?>”

и т. д., он также привел пример того, как работает CDN? должно выглядеть так:

sub CDN { return @_[1]; }

или (когда у вас наконец есть статический контент на CDN)

sub CDN { return ‘http://s.company.net’ . @_[1]; }

(но это недействительный php, верно? Он больше похож на perl...)

В любом случае, это продолжается с тем, как переписать заголовок, например:

<link type="text/css" rel="stylesheet" href="<?php echo $this->CDN("c/".$this->css_file) ?>" />

Но, честно говоря, я понятия не имею, как это сделать правильно. Итак, мой вопрос: как мне подготовить мой (php) сайт для CDN? Где разместить функцию sub CDN? Как это должно выглядеть в действительном php? Как/где его включить? Должен ли я поставить

<?php require('../cdn.php'); ?>

в начале каждого файла html/php, который я создаю (который использует скрипты/css/статические изображения/и т. д.)? Спасибо, что прочитали это.


person php-wannabe    schedule 12.11.2010    source источник


Ответы (1)


Если вы планируете использовать CDN в будущем, это не глупая идея.

Простая функция будет выглядеть так:

 function getURL($url)  // Name it whatever you want
  {
     // Choose one of the following:
     return $url; // If you're local 
     return "http://s.company.net/".$url; // If you're on a CDN or static server

  }

и разметка:

<link type="text/css" rel="stylesheet" href="<?php echo getURL("c/".$this->css_file) ?>" />

Должен ли я ставить... в начале каждого файла html/php, который я создаю (который использует скрипты/css/статические изображения/и т. д.)?

да. Возможно, было бы разумно включить какой-то центральный файл начальной загрузки (некоторые фреймворки называют его bootstrap.php) для будущих общих настроек PHP, которые вам могут понадобиться. Затем этот загрузочный файл, в свою очередь, будет включать файл cdn.php.

person Pekka    schedule 12.11.2010