必威体育下载基督教Heilmann

您当前正在浏览php类别的存档。必威体育简介

“php”类别的存档

使用Tutorialbuilder从源注释生成教程

周二,5月13日,2008

我花了太多的时间让脚本的解释教程与代码的更改保持同步。这就是我写a的原因PHP解决方案为我做这项工作。多年来,我发现解释剧本的最好方法是:

  • 展示一个例子
  • 显示完整的源代码
  • 逐位显示源代码,然后解释每个部分的功能

如果你去看看Tutorialbuilder你会看到我用a实现了大部分的自动化PHP脚本。它为您做了以下工作:

  • 它从脚本源代码中的注释生成教程部分。
  • 它将源代码转换为可显示的代码(编码它,添加行号,允许行被高亮显示)
  • 它使用正确的文件名创建脚本的可下载版本
  • 它创建脚本的可执行版本,而不需要使用脚本元素链接注释。
  • 它可以缩小脚本(删除所有空格以减少文件大小)

换句话说,结果这个源脚本像这样的教程使用一个模板和一些CSS(大部分取自YUI)。

它是一个替代JSDoc而是更容易使用和解释代码的功能,而不是JS代码本身的语法。

Tutorialbuilder许可和BSD,所以为了你自己疯狂的使用它。

让我们让2008年成为使用Ajax拥抱服务器端的一年

星期天,12月30日2007

我总是着迷于大量的Ajax教程和示例,它们完全忽略了Ajax应用程序的后端部分。很多时候,您会发现关于允许客户端生成HTTP但是,当谈到允许跨域请求所需的代理脚本时,很多都被掩盖为“您不需要知道这些,就用这个脚本吧。

如果提供的脚本不是那么糟糕,这就不是问题。未消毒的url是跨服务器脚本攻击的主要攻击点。如果你使用PHP_SELF作为表单的操作,您不应该对来自服务器的大量邮件流量或站点上的文本链接感到太困惑,因为您没有签名并从中获得资金。

web上Ajax信息另一个让我吃惊的地方是,人们不断抱怨在客户端将数据从一种格式转换为另一种格式的速度太慢和问题。让我们不要欺骗自己:即使在所有的文章之后,关于Ajax的书籍和播客,我们仍然不知道访问者使用什么来查看我们的产品。我们无法确定使用的浏览器是什么,如果涉及辅助技术或有关浏览器所运行的计算机的任何规范。对我来说,这使客户端成为最不适合进行大量计算和转换的地方。

服务器端,另一方面,在你的控制之下,你知道它能做什么。复杂的正则表达式,XSLT转换,所有这些在后端都很容易做到——而且您知道文本编码在启动时会工作。Ajax应用程序的许多复杂性都是基于糟糕的架构和设计决策,并依赖于客户端提供必要的功能。

如果你问我一个好的Ajax应用程序的客户端与服务器代码的比例是多少,我会说30%的客户端和70%的服务器。服务器上的70%应该用来提供安全性,非javascript回退功能(yay易访问性)和数据的小转换,为客户端提供易于消化的块(想想HTMLJSON)。30%的客户端代码应该主要用于增强产品的可用性,使访问者更容易达到他们的目标。

下面是我2008年的计划:每当我谈到Ajax时,我都会尽可能多地涉及前端和后端。我将与其他专家合作,因为我自己创造了一些可怕的PHP在过去。我希望其他人也能效仿这个例子,因为Ajax是一个跨越前端和后端工程之间鸿沟的绝佳机会——我们必须相互交流才能创建一个好的应用程序。

用slideshare展示你的幻灯片,PHP和一点JavaScript

周三,10月31日2007

首先,我是一个的粉丝slideshare,一个允许你上传演示文稿的网络应用,开放的办公室或PDF并在网上分享。Slideshare转换了演示文稿(遗憾的是,在字体和字距方面并不是100%),人们可以对它们进行评论,所有幻灯片都有一个文本版本,您可以将幻灯片嵌入博客或其他站点。

当我检查我的幻灯片时,我看了一下API但我总是对必须通过开发人员ID然后在服务器上做所有事情感到厌烦。这就是为什么我戴上我的“道德黑客”帽子,看了看RSS我的幻灯片的饲料,并找到我需要的一切!如果你看提要的源您将看到它不仅包含标题和描述,还包含媒体代码,在这种情况下HTML嵌入正确的flash影片。

利用这些信息,很容易构建一个查看器,使人们可以在不离开站点的情况下单击您的所有演示文稿。它可以是这样的:

接口来单击不同的幻灯片显示

当JavaScript可用时,这将是外观和功能。当JS关闭时,你会得到一个没有样式的链接列表,指向slideshare.net上的演示文稿。

你可以查看幻灯片显示在行动中下载一个zip文件并在您的站点上使用如果你不想知道是怎么做的。如果你这样做,继续阅读…

所需的代码非常简单,大约70行就可以完成。让我们一点一点地看一遍。我用PHP4加上卷发,DOMXML和一些JavaScript使用YUI.


            
$ url = “http://www.slideshare.net/rss/user/cheilmann”;ch美元 = curl_init();
curl_setopt(ch美元,CURLOPT_URL, $ url);
curl_setopt(ch美元,CURLOPT_RETURNTRANSFER, 1);
美元的幻灯片 = curl_exec(ch美元);
curl_close(ch美元);

它以URL我们想要加载和a旋度调用以提取此文件并将其存储在变量$slides中。


幻灯片美元= str_replace(slideshare:嵌入,slideshareembed,幻灯片美元);
幻灯片美元= str_replace(“媒体:标题”、“mediatitle”,美元幻灯片);
美元$ xml = domxml_xmltree(幻灯片);

使事情更容易)DOMXML一套非常粗糙的工具——用起来更容易吗PHP5我将提要中包含嵌入代码和媒体标题的带名称空间的属性重命名为simple元素,并从中创建一个对象集合XML使用domxml_xmltree。


$ = json数组();
$ slidesharelist =”;
$ = $ xml链接- > get_elements_by_tagname(“链接”);
$ img = $ xml - > get_elements_by_tagname(url);
$标题= $ xml - > get_elements_by_tagname(“mediatitle”);
$嵌入= $ xml - > get_elements_by_tagname(“slideshareembed”);

然后我需要预先设置一个数组来包含每个幻灯片的嵌入代码,以及一个字符串来包含指向slideshare上的演示文稿的链接列表。的get_elements_by_tagname方法DOMXML获取所需内容的不同位元的数组RSS饲料。


foreach ($embed as $key=>$el) {
l =美元的链接(键+ 2美元)- >孩子[0]- >内容;
t =标题美元($ key)- >孩子[0]- >内容;
slidesharelist美元。= '
  • ”。$ t。’
  • ”;
    emb =美元el - >孩子[0]- >内容;
    如果(大小写敏感(emb美元”, 孩子们[1]- >内容;}
    preg_match_all(“/ *。 . *)。* / msi, emb美元,美元obj);
    json[]= "的。obj美元[1][0]。“;
    }

    ? >

    通过遍历“嵌入”数组,我组装了指向不同表示形式的链接列表,并将嵌入代码添加到JSON数组中。我需要这一个稍后显示不同的flash电影时,访问者点击演示链接。注意,我需要跳过前两个链接元素,因为它是指向主元素的URLRSS饲料。由于某些原因,嵌入的顺序在本地主机和活动服务器上是不同的,这就是为什么我添加了额外的if语句。讨厌,那

    这就是PHP我们需要!现在是时候让它更漂亮,并添加其余的HTML.





    因为它很粗糙,可以混合使用PHPJavaScript把所有CSS有趣的是在自己的文档中只添加logoRSS提要作为幻灯片容器的背景。标记是主要的DIV的无序列表HTMLPHP脚本。这显示了链接,但还没有动态显示。为此,我们需要JavaScript。




    这就是,除了把数据从RSS输入“幻灯片”数组并关闭模块模式。

    与正确的样式表一起,这就足以在slideshare上拥有一个可单击的最新演示文稿列表。享受。