Maison >titres >En 1994, j'ai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

En 1994, j'ai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

藏色散人
藏色散人avant
2021-11-29 14:32:422225parcourir

昨天晚上写代码到深夜,一头扎到床上,沉沉睡去。

第二天睁开眼镜,我发现自己居然坐在一个咖啡馆里,旁边的墙上贴着最新的英文电影海报《阿甘正传》、《肖申克的救赎》

En 1994, jai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

这都是1994年的经典电影,我意识到,自己穿越到了1994年的美国!

对面坐着一个帅哥,一边操作电脑,一边在不停地赞叹。

我探过头去,发现他正在看这个东西:

En 1994, jai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

我说:“哥们儿,这不是安德森开发的Mosaic浏览器吗?这么丑,你怎么不用网景?”

“网景?那是什么东西?不过兄弟不简单啊,我在咖啡馆喝了这么多天的咖啡,你是第一个识货的,还知道安德森,肯定也是个程序员吧,要不一起干吧!”

“干什么啊?”

“浏览器绝对是互联网的未来,现在很多公司都在狂热地拥抱它, 他们就使用 Microsoft Word写文档,然后将文档保存为 HTML,通过 FTP 将它们放到网上,这里边有商业机会啊。”

“写个HTML会有什么商业机会?”

“静态的网站是和枯燥的,这些公司很快就会发现,可以和用户交互的、动态的网站才有商业价值。我准备专门提供这样的咨询服务,为他们开发各种动态的Web应用程序。对了,忘了自我介绍了,我叫Rasmus Lerdorf。”

这个人名怎么这么熟悉?

我想既然穿越而来,那就看看1994年的动态网站是怎么开发的吧。

我说:“我叫张大胖,主要用Java编程。”

“Java?那是什么语言?” 他两眼立刻放光了!

我意识到说漏嘴了,Java这时候还没诞生呢!

“其实叫C++--,一个小众语言。”

“和C语言相关,那就好,我们得用C语言写CGI脚本。”

我和他合伙开了个咨询公司,专门接开发动态网站的活儿。

但是开发一开始,我就崩溃了:没有前后端分离,没有Java,没有JSP,ASP, 真的全靠在C语言!

给大家看看:

void main(int argc, char *argv[]) {
  char *params, *data, *dest, *s, *tmp;
  char *name, *age;
  puts("Content-type: text/html\r\n");
  puts("<HTML><HEAD><TITLE>Form Example</TITLE></HEAD>");
  puts("<BODY><H1>My Example Form</H1>");
  puts("<FORM action=\"form.cgi\" method=\"GET\">");
  puts("Name: <INPUT type=\"text\" name=\"name\">");
  puts("Age: <INPUT type=\"text\" name=\"age\">");
  puts("<BR><INPUT type=\"submit\">");
  puts("</FORM>");
  data = getenv("QUERY_STRING");
  if(data && *data) {
    params = data; dest = data;
      while(*data) {
      if(*data==&#39;+&#39;) *dest=&#39; &#39;;
      else if(*data == &#39;%&#39; && ishex(*(data+1))&&ishex(*(data+2))) {
        *dest = (char) htoi(data + 1);
        data+=2;
      } else *dest = *data;
      data++;
      dest++;
    }
    *dest = &#39;\0&#39;;
    s = strtok(params,"&");
    do {
      tmp = strchr(s,&#39;=&#39;);
      if(tmp) {
        *tmp = &#39;\0&#39;;
        if(!strcmp(s,"name")) name = tmp+1;
        else if(!strcmp(s,"age")) age = tmp+1;
      }
    } while(s=strtok(NULL,"&"));
    printf("Hi %s, you are %s years old\n",name,age);
  }
  puts("</BODY></HTML>");
}

用一句话来说那就是:在C语言当中输出HTML代码

这是人干的活吗?我都快写吐了!

Rasmus:“没办法啊,C语言编写CGI脚本,实现动态网页,可不就得这样嘛?对了,你会用Perl吗?”

“就是那个写出来以后代码谁都不认识的语言?我不想用!”

时间长了,Rasmus 也受不了了:“这些CGI 脚本无外乎就是处理表单, Post数据,过滤等,重复代码太多了,怎么样才能提高效率呢?”

他有空就琢磨这件事情,有一天,他想到了一招,把这些常用的功能都包装到一个C语言库中,它“植入”NCSA Web 服务器中(这是Apache之前最流行的服务器),然后在上面添加了一个模板系统,可以轻松地调用他们。

于是代码就是变成这个样子:

<html><head><title>Form Example</title></head>
<body><h1>My Example Form</h1>
<form action="form.phtml" method="POST">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<br><input type="submit">
</form>
<?if($name):?>
Hi <?echo $name?>, you are <?echo $age?> years old
<?endif?>
</body></html>

换句话说:就是在HTML中“混入”代码

和CGI对比,这种方式对程序员来说非常友好,我们的工作效率一下子提高了很多。

说实话,我早就知道这种方式,就是ASP,JSP嘛,但是自己没那技术实力,实现不了啊!

Rasmus 很快就找到了一个新客户,用新工具为他们开发Web程序,连接到数据库,满足他们各种各样的需求。

随着客户的增多, 客户的需求也略有不同,于是,Rasmus 就不断地扩展它的工具箱, 从简单的解析器慢慢发展为包含条件标签,然后是循环标签、函数等各种复杂的东西,这已经是一门语言了。

Rasmus 把它们称为Personal Home Page,简称PHP

我这才意识到,原来遇到了<strong>PHP之父</strong>

很快就有其他程序员找上门来, 问我们:Rasmus, 你们怎么开发得这么快!

Rasmus说:我有个人工具箱啊!

“那我能不能用?”

Rasmus说:“可以啊,工具只是我的锤子,每个人都可以用我的锤子。”

我赶忙阻止他:“Rasmus, 你把锤子给别人, 那咱们靠什么赚钱?”

“我不靠锤子赚钱,我卖的是解决问题的服务。”

我心想他真是傻瓜,为什么不靠卖他的工具来赚钱呢?学学Bill Gates,过几年上市!

让我没想到的是,神奇的事情发生了。

Les utilisateurs de PHP ont commencé à envoyer des correctifs à Rasmus - ils ont trouvé des bugs que Rasmus n'avait même pas trouvé !

Alors Rasmus est allé voir le client et lui a dit : J'ai mis à niveau vers une nouvelle version, j'ai changé ceci, j'ai changé cela.

Les clients sont très satisfaits. Ils pensent que notre efficacité de travail est très élevée, non seulement nous pouvons terminer les fonctions rapidement, mais nous pouvons également corriger rapidement les bugs.

J'ai soudain réalisé : N'est-ce pas open source ?

Bien sûr, c'était en 1994 ou 1995, et le terme open source n'était pas encore apparu, il n'existait à cette époque que des logiciels libres prônés par RMS.

Au fur et à mesure que de plus en plus de personnes soumettaient des correctifs, PHP s'est progressivement amélioré. En 1995, Rasmus a vu que le moment était venu et a officiellement annoncé la naissance de PHP 1.0.

En 1994, jai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

C'est ainsi que PHP a commencé !

Rasmus a fait preuve de la générosité et du style d'un leader en renonçant au contrôle exclusif de PHP.

En donnant la propriété du projet à d'autres afin que chacun puisse contribuer, PHP devient le projet de tous, et non celui de Rasmus seul.

A cette époque, le code source PHP était placé dans CVS. Je voulais que Rasmus mette le code source PHP sur GitHub Mais à cette époque, il n'y avait même pas Git. D'où venait le Hub ?

Il n'y a pas de gestion ici. Chacun est un petit groupe auto-organisé qui peut s'auto-organiser autour de ce qui l'intéresse.

Appliquez les gens selon leurs mérites et laissez le code parler de lui-même.

Cela change vraiment la nature de PHP.

Un week-end, Rasmus et moi sommes revenus au café pour prendre un café et j'ai dit : "Je pense que vous devez ajouter quelques fonctionnalités avancées à PHP !"

"Tels que les génériques, les annotations, la programmation orientée fonctions, Lambda, etc.."

"Non, j'espère maintenir la barrière à l'entrée de PHP faible, à la fois en termes d'utilisation et de contribution Quiconque souhaite résoudre un problème Web trouvera généralement une solution très directe via. Solution PHP, la plupart des alternatives qui prétendent résoudre le problème du Web sont trop complexes, réfléchissez-y, vous devez terminer le travail d'ici vendredi, mais vous devez feuilleter 800 pages de manuels, c'est frustrant "

" Y avez-vous déjà pensé ? , PHP dominera-t-il le Web à l'avenir ? "

"Haha, est-ce possible ? "

Rasmus ne savait pas que PHP se développerait énormément dans la tendance Internet, en épousant Linux, MySQL, et Apache, et conquérant continuellement des villes et des territoires.

Les statistiques de W3Tech montrent que PHP domine le Web, avec près de 80% des sites utilisant PHP !

En 1994, jai enfin compris pourquoi 80 % des sites Web utilisaient PHP !

"Si on vous demandait de résumer comment créer un projet open source réussi, que diriez-vous ?"

En parlant de ce sujet, Rasmus s'est soudainement mis à parler sans arrêt, car il est passé de 0 à 1 Un projet est tellement puissant !

"Si vous n'avez qu'une seule idée sympa, personne ne rejoindra votre projet, tout le monde a des idées sympas.

Si vous créez quelque chose qui est à moitié cuit, alors les gens vont probablement vous le faire. Peu importe, ils trouveront une solution au problème

Ce n'est que si vous construisez quelque chose d'assez utile que les gens viendront vers vous et il leur sera plus facile d'accepter votre code, puis de le développer un peu. vos propres problèmes pour que la boule de neige puisse commencer à rouler

Donc, pour démarrer un projet open source, vous devez résoudre un problème qui vous dérange depuis un moment, ce qui peut prendre des mois pour trouver le vrai problème et le résoudre. , alors vous devez suivre les conseils des premiers utilisateurs et faire de votre mieux pour rendre l'outil utile à un public plus large

Enfin, envisagez de renoncer au contrôle et de laisser les autres travailler avec vous pendant que les gens utilisent votre code lorsqu'ils le font. quoi qu'ils veuillent, votre projet open source est une réussite ! "

"Génial, j'espère que mes lecteurs pourront voir ça"

"Vos lecteurs ?"

"Oui, le codeur a fait la une des journaux, je ne peux pas. en dis trop, le secret ne doit pas être divulgué, je dois partir."

Après avoir dit cela, j'ai disparu.

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer