【问题标题】:Where to implement PHP into HTML and CSS pages?在哪里实现 PHP 到 HTML 和 CSS 页面?
【发布时间】:2011-11-18 16:50:50
【问题描述】:

我事先道歉,因为这很可能是一个非常愚蠢的问题。到目前为止,我已经阅读了两本关于 PHP 的书(其中包括 mySQL 和 JavaScript)。我得到了基本的编码部分、语法和所有内容,这正是书本的内容。

但我并没有真正得到什么,而且书籍没有提到,是从哪里开始使用实际代码。

我现在有一个用 HTML 和 CSS 编写的静态网站。我想为该网站实现一个动态部分:主要部​​分是登录部分、会员部分以及用户向类似于论坛的系统发帖的能力。

我不知道如何做到这一点。我研究过框架和内容管理系统,但老实说,我不确定它们应该做什么。我知道他们应该使编程更容易和更快,但是他们是怎么做到的呢?

我阅读了 CodeIgniter 的用户手册,但我仍然不知道如何将它与我的 html/css 页面结合,或者如何在我的网站上实现我想要的系统。我尝试在其他网站上查找有关信息,但每个人似乎都说不同的话。我可以编写自己的代码吗?这是可取的,还是不可取的?我在哪里编写代码,在哪些文件中?

我并不反对使用框架或 CMS 或任何东西,但我真的很想了解我网站的底层流程。如果我只是借用代码,但出现了问题,我最终会花费数天时间来找出问题所在。

请,任何帮助将不胜感激,我现在​​完全不知所措。我觉得我只是错过了一些必要的关键信息。或者可能只是因为那里有太多东西,框架和 cms 和门户网站以及诸如 phpmyadmin 和 easyphp 之类的东西......好吧,你明白了它的要点 - 那里有很多东西,我真的不知道从哪儿开始。

【问题讨论】:

  • 从这里开始:w3schools.com
  • 首先从搜索结果中屏蔽 w3schools.com。
  • @digitaltoday:w3schools 很久以前就有点用处了,现在它更令人讨厌了,用错误的方式教人们东西。
  • 当我还在上网页设计课程的时候,我已经去了 W3schools,但老实说,我总是发现该网站令人困惑且缺乏信息。
  • 请注意,php 不限于创建 html 或纯文本。 PHP 可以发出二进制数据。如果你疯了,你可以构建一个发出 windows 可执行文件的 php 脚本。

标签: php html css frameworks content-management-system


【解决方案1】:

我并不反对使用框架或 CMS 或任何东西,但我真的很想了解我网站的底层流程。如果我只是借用代码,但出现问题,我最终会花费数天时间来查找问题所在。

您根本不应该在您想在“实时”情况下使用的项目上开始编程。即使只是为了好玩也不行;如果有人因为您缺乏经验而错过了明显的泄密事件而入侵了您的网站,其他访问者可能会受到伤害(即发布他们的电子邮件地址和/或密码,或通过您的网站安装恶意软件)。这不太可能发生,但它可以。

你是说你读过两本关于编程的书。您是否应用了所讨论的内容,或者您​​只是阅读并认为它是理所当然的?您真的应该尝试使用实践经验来了解编程的基础知识。

您可以走两条路:自己创建登录/论坛/CMS 系统,使用或不使用框架,或者您可以下载诸如 Wordpress 之类的东西并为其创建模板。后者不需要太多编程,但您可以通过这种方式快速创建一个网站。

当您决定自己编写所有代码时,您必须选择是要使用object oriented approach,还是将所有内容放入您需要的 .php 文件中,并由您已经编写的 html 包围已经写好了。您也可以只使用Smarty 之类的模板引擎,因此您几乎不必同时使用html 和php。或者,也许是最可行的解决方案,花点时间习惯某个框架,例如Zend Framework。这提供了您所需的一切,从会话处理到数据库访问,再到模型-视图-控制器框架(用于分离视图、数据和逻辑),但是您必须学习如何针对该框架进行编程。

确实有很多选择,但我希望这会有所帮助。 :-P

【讨论】:

  • 我读过的关于 php 编程的书——我确实在书中做了一些示例,这不是问题,但是因为语法与 Java 非常相似,而且我使用过 Java过去很多时候,我认为从长远来看,编码本身不会有太大问题。那是愚蠢的吗?我应该尝试更多吗?
【解决方案2】:

我认为如果你想更好地理解在哪里实现部件的概念(CSS、HTML、动态代码),请先尝试学习 MVC 概念 -> 如果我没记错的话,codeIgnator 是一个类似 MVC 框架。尝试研究 kohana 框架,我个人喜欢 HMVC 的工作方式。了解 OO 的概念。

http://kohanaframework.org/

【讨论】:

    【解决方案3】:

    您可以将 PHP 放置在 HTML 或 XHTML 标记内的任何位置,如下所示:

    <html>
    <body>
    
    <?php
    echo "Hello World";
    ?>
    
    </body>
    </html> 
    

    对于大多数服务器,您需要使用 .php 扩展名来命名文件。

    【讨论】:

    • -1 : 实际的 PHP 参考站点在这里:php.net "W3Schools 出了什么问题?"是他们冒充权威,同时举出不好的例子、误导性的信息,并欺骗人们购买毫无价值的“证书”。
    • 我认为混淆代码会造成很多混乱。即使对于初学者来说,最好学习如何以编写方式做事,最好像 MVC 那样将代码分开,维护会很容易。当我学习了 MVC 框架的概念后,我的工作速度大大加快我认为我以前为什么不这样做..
    • @Wesley Murch 我知道我是一名专业的 PHP 开发人员。但是,对于想知道如何在页面上放置代码的新手来说,这不是正确的网站。
    • 那里。没了,大家开心。没说买什么证书,看php和html是怎么集成的。
    • 这位OP说他看了两本PHP方面的书,我希望他现在已经看到了如何将php集成到HTML中,否则他是在浪费时间。
    【解决方案4】:
    • 在网络上,有服务器客户端
    • 客户端向服务器请求一些东西
    • 服务器响应了一些东西
    • 超过 n 个
    • 一切都在您的服务器上(CSS、JS、图像...等)
    • 客户要求各种资源
    • 如果你的服务器安装了PHP,你可以在你的服务器上运行PHP
    • PHP 可以生成任何文本输出,这将是响应
    • 这样您也可以生成 HTML
    • 如果你读过两本 PHP 书籍,你应该知道如何输出 HTML
    • 所以你可以写你想要的
    • 迟早您会意识到,很难将您的代码维护为“杂乱无章”
    • 您将寻找更好的做法、更好的技术
    • 超过 n 个
    • 当您搜索并尝试更好的做法时,您会意识到并非只有您希望它做得更好
    • 因此您将找到基于最佳实践的框架

    http://symfony.com/doc/2.0/book/

    这里有更多。

    【讨论】:

      【解决方案5】:

      我不建议您的第一个 PHP 项目使用 MVC 或框架,因为 IMO 的学习曲线有点太陡了。学习 PHP/mySQL 本身就足够了,更不用说 PHP 加上 MVC 和其他模式的概念,以及某些特定框架的特殊复杂性。此外,构建和维护一个单体项目稍后会让您深入了解为什么 MVC 框架是一种改进。

      【讨论】:

        【解决方案6】:

        我猜你读的书解释说你可以将 PHP 与 HTML 标记内联,它会执行,以及所有这些东西。如果没有,那么那些书可能很烂,你应该试着拿回你的钱。您的问题似乎确实围绕框架和内容管理系统。

        我们将从最简单的设置开始:内容管理系统这些基本上是预制的网站,完全按照他们所说的去做,它们让您管理内容。比较流行的一个是 Wordpress,默认情况下,它允许您使用“后端/管理面板”中简单易用的界面将文章发布到网站上(并让用户评论这些文章等)部分。通常,CMS 旨在让用户轻松拥有一个网站,而无需编写任何代码,甚至不必了解 HTML。那么,有了你新发现的 PHP 知识,你能用这些做什么呢?老实说,在您通读开发人员文档和 API 文档之前,并不是很多。你当然可以破解它,但在定制 CMS 方面,真正能够做你想做的事情需要时间。不过,这在一定程度上取决于 CMS,而且有些比其他的更容易使用。但是,当您了解如何做事时,还有一个额外的学习曲线。

        所以,框架。框架是 PHP 的一个附加层,它可以通过强制组织代码(大多数框架使用模型-视图-控制器模式,称为 MVC)或增加安全性(通过防止 SQL 注入和其他讨厌的事情发生)来帮助您的开发过程PHP 让你做的事情)。大多数框架会导致 PHP 代码与 HTML 分离,这通常是一件好事。缺点:框架意味着更多的学习,通常是相当多的学习,因为它们都有自己的做事方式。但是您使用它们生成的代码通常会更干净,并且随着您使用某个框架的次数越多,您将编写更好的代码(实际上任何编程语言都是如此)。通常,大多数框架都有一个类似于Hello World 的基本教程来帮助您入门,并让您了解结构以及视图文件如何与控制器和模型一起使用。很难说哪个 PHP 框架“更好”,因为它们都有优点和缺点,所以选择一个你觉得好的并开始搞砸它。浏览一些教程,如果它很臭,再找一个。

        祝你好运!

        【讨论】:

        • 这对我真的很有帮助!我已经阅读了有关内联 php 的信息,是的,而且说实话呵呵。我想我的问题有点含糊。我想这意味着我将使用一个框架并阅读 MVC 模式,看看我想使用哪个框架。非常感谢您的帮助和提示!
        【解决方案7】:

        你有很多东西要学,你想达到的目标不会在一夜之间发生。

        让我们举一个非常基本的例子。

        假设您有以下 HTML 页面:

        <html>
          <head>
            <title>My HTML Page</title>
          </head>
          <body>
            <h1>This is my HTML page</h1>
            <p>Nice, isn't it?</p>
          </body>
        </html>
        

        ...假设您想在其上计数 1 到 10。你可以这样做:

        <html>
          <head>
            <title>My HTML Page</title>
          </head>
          <body>
            <h1>This is my HTML page</h1>
            <p>Nice, isn't it?</p>
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
            <div>6</div>
            <div>7</div>
            <div>8</div>
            <div>9</div>
            <div>10</div>
          </body>
        </html>
        

        ...但是在 PHP 中,您可以简单地这样做:

        <html>
          <head>
            <title>My HTML Page</title>
          </head>
          <body>
            <h1>This is my HTML page</h1>
            <p>Nice, isn't it?</p>
        <?php
            for ($i = 1; $i <= 10; $i++) {
              echo "<div>$i</div>\n";
            }
        ?>
          </body>
        </html>
        

        ...生成的 HTML 将(实际上)相同。我知道没那么有用,但如果你在静态页面上这样做,你将不得不写出所有这些 div。

        现在假设您希望能够使用 URL 参数控制计数的数量。你可以这样做:

        <html>
          <head>
            <title>My HTML Page</title>
          </head>
          <body>
            <h1>This is my HTML page</h1>
            <p>Nice, isn't it?</p>
        <?php
            for ($i = 1; $i <= $_GET['count']; $i++) {
              echo "<div>$i</div>\n";
            }
        ?>
          </body>
        </html>
        

        现在,页面显示的数字与您在count URL 参数中传递的一样多,因此您可以调用http://mydomain/myscript.php?count=10 top 获得与以前相同的结果。您也可以调用 http://mydomain/myscript.php?count=20,它现在将有 20 个“行”。

        我知道上面的例子既不令人兴奋也没有用处,但希望它能展示如何将 PHP 代码转换为 HTML。

        【讨论】:

        • 很明显但重要的是要注意 PHP 是在服务器上执行的,所以第一个带有纯 html(10 个 div)的示例,以及第二个在 php 中使用循环发出 div 的示例看起来与客户端的浏览器相同(普通的旧 html)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        • 2015-07-29
        • 1970-01-01
        • 1970-01-01
        • 2017-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多