2010-11-12 21 views
2

Je suis plutôt nouveau à la programmation PHP, mais je pensais que je le ferais dès le début, donc je suis tombé sur ce beau pdf Web Performance Boot Camp où il suggère:contenu statique sur un CDN en utilisant PHP pour obtenir l'adresse

Tous les sites devraient toujours se préparer pour le contenu statique CDNized

et voici comment:

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

etc, il a également donné un exemple de la façon dont le CDN fonctionne? devrait ressembler à:

sub CDN { return @_[1]; } 

ou (lorsque vous avez enfin votre contenu statique sur un CDN)

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

(mais ce n'est pas valide php, droite, il ressemble plus à perl ...?)

Quoi qu'il en soit, cela va avec la façon de réécrire l'en-tête comme:

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

Mais honnêtement, je ne sais pas comment le faire rig ht. Donc, ma question est, comment puis-je préparer mon site (php) pour un CDN? Où puis-je mettre la fonction sub CDN? Comment devrait-il regarder dans php valide? Comment/Où puis-je l'inclure? Dois-je mettre un

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

au début de chaque fichier html/php créer (qui utilise des scripts/css/images statiques/etc.)? Merci d'avoir lu ça.

Répondre

3

Si vous prévoyez d'utiliser un CDN à l'avenir, ce n'est pas une idée stupide.

Une fonction simple ressemblerait à ceci:

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 

    } 

et le balisage:

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

Dois-je mettre ... au début de chaque fichier html/php I create (qui utilise des scripts/css/static images/etc.)?

Oui. Il peut être judicieux d'inclure une sorte de fichier d'amorçage central (certains cadres l'appellent bootstrap.php) pour les futurs paramètres PHP partagés que vous devrez peut-être introduire. Ce fichier d'amorçage comprendrait ensuite le cdn.php.