PHP是什么?
简介
PHP是允许你生成动态网页的工具之一。PHP代表超文本预处理器(PHP)。PHP完全免费,不用花钱。可以从PHP官方网站()了解更多。
PHP在个人web项目中的应用显著增加。根据Netcraft在1999 10中的报告,使用PHP技术的有931122个域和321128个IP地址。
PHP的优势
使用PHP有很多好处。当然,已知的缺点是PHP作为开源项目,没有商业支持,执行速度慢(直到PHP4)。但是PHP邮件列表非常有用,除非你运行的是类似Yahoo!或者像Amazon.com这样非常受欢迎的网站,你不会觉得PHP的速度与众不同。至少我没感觉到!好吧,让我们看看PHP有什么优势:
学习过程
个人比较喜欢PHP非常简单的学习过程。不像Java和Perl,你不必埋头于100多页的文档中去努力学习写一个像样的程序。只要了解一些基本的语法和语言特性,就可以开始你的PHP编码之旅了。之后,如果你在编码过程中遇到任何麻烦,你可以再次浏览相关文档。
PHP的语法类似于C,Perl,ASP或者JSP。对于熟悉以上语言之一的人来说,PHP太简单了。相反,如果你对PHP了解的更多,你可以很容易地学习其他几种语言。
你只需要花30分钟就能掌握PHP所有的核心语言特性。你可能已经非常了解HTML,甚至你已经知道如何通过编辑和设计软件或手工制作漂亮的网站。因为PHP代码可以毫无障碍地添加到您的站点中,所以在设计和维护您的站点时,您可以轻松地添加PHP以使您的站点更加动态。
数据库连接
PHP可以用连接到很多数据库的函数来编译。PHP和MySQL现在是极好的组合。也可以编写自己的外设函数来间接访问数据库。这样,当您更改所使用的数据库时,您可以轻松地更改编码以适应这种更改。PHPLIB是最常用的基础库,可以提供一般的事务需求。
膨胀性
如前所述,PHP已经进入快速发展期。对于一个非程序员来说,扩展PHP的附加功能可能很难,但是对于一个PHP程序员来说并不难。
面向对象编程
PHP提供了类和对象。基于Web的编程非常需要面向对象的编程能力。PHP支持构造函数、提取类等等。
可量测性
传统上,网页的交互是通过CGI来实现的。CGI程序的可伸缩性并不理想,因为它为每个正在运行的CGI程序打开了一个独立的进程。解决方案是编译那些经常用来编写CGI程序的语言的解释器(比如mod_perl,JSP)。PHP可以这样安装,虽然很少有人愿意这样安装在CGI里。嵌入式PHP可扩展性更强。
更多功能
为了更适合web编程,PHP开发者开发了很多外围流行的基础库,里面包含了更容易使用的层。您可以使用PHP连接到大多数数据库,包括Oracle、MS-Access和Mysql。你可以在苍蝇上画画,编写程序下载或显示电子邮件。甚至可以完成网络相关的功能。最重要的是,你可以选择你安装的PHP版本需要哪些功能。引用日产的Xterra的话,PHP可以做任何你想让它做的事情,它可以做任何事情!
MySQL简介
MySQL是一个半商业化的数据库,深受Linux社区人们的喜爱。MySQL可以在大多数Linux平台(i386、Sparc等)和少数非Linux甚至非Unix平台上运行。
牌照费
MySQL的流行很大程度上是因为它的松散,除了稍微有点不寻常的许可费。MySQL的价格因平台和安装方式而异。Windows版本的MySQL (NT和9X)在任何情况下都不是免费的,而任何Unix变种(包括Linux)的MySQL如果是用户自己或者系统管理员安装而不是第三方安装都是免费的,第三方解决方案必须支付许可费。
价格
平台安装模式价格
视窗NT,9X任何200美元。
Unix或Linux安装是免费的。
Unix或Linux第三方安装200美元
需要一个200美元的应用程序组件。
您可以获得各种支持合同,其中太多没有列出。最新报价请咨询MySQL网站。
3.装置
大多数主要的软件包格式(RPM、DBE、TGZ)都可以在MySQL站点上获得,客户端库和语言包装器可以以单独的RPM格式获得。RPM格式的安装不太麻烦,不需要初始配置。rc3.d中会生成一个初始脚本(以RedHat RPM为例),所以在多用户模式下重启时会启动MySQL守护进程。Mysqld消耗非常少的内存(在运行RedHat 5.1的Pentium 133上,每个守护进程使用500K内存和另外4M共享内存),并且仅在执行真正的查询时加载到处理器上,这意味着MySQL可以非常容易地用于小型数据库,而不会对其他系统功能产生太大影响。
数据类型
字段支持大量数据类型是一件好事。常见的整数、浮点数、字符串、数字都是用各种长度表示的,支持变长BLOB(二进制大对象)类型。对于整数字段,自动增量选项和日期时间字段也可以很好地表示。
MySQL与大多数其他数据库系统不同,它提供了两种相对不常见的字段类型:ENUM和SET。ENUM是一个枚举类型,非常适合Pascal语言。它允许程序员看到像'红色'、'绿色'和'蓝色'这样的字段值,而MySQL只将这些值存储为一个字节。SET也是从Pascal借来的。它也是一种枚举类型,但是一个字段一次可以存储多个值。这种存储多个枚举值的能力可能不会给你留下深刻印象(可能会威胁到第三范式的定义),但是正确使用SET和CONTAINS关键字可以节省很多表连接,提高性能。
5.SQL兼容性
MySQL包含了一些不同于SQL标准的改动,大部分都是为了弥补SQL脚本语言的不足。然而,其他一些扩展确实使MySQL与众不同。例如,LINK子句搜索会自动忽略大小写。MySQL还允许用户自定义SQL函数,换句话说,一个程序员可以编写一个函数,并将其集成到MySQL中,其性能与SUM()或AVG()等任何基本函数没有区别。该函数必须编译到一个共享库文件(。so文件),然后用LOAD FUNCTION命令加载。
也缺少一些常用的SQL函数,没有子选择(查询中的查询)。景色不见了。当然,大多数子查询可以用一个简单的join子句重写,但是有时用两个嵌套查询比用一个大的join更容易。同样,视图只为程序员隐藏了where子句,但这是程序员期望的另一个便利。
存储过程和触发器
MySQL没有存储过程语言,这对于习惯了企业数据库的程序员来说是最大的限制。多语句SQL命令必须由客户端代码协调。在这种情况下,借助于相当可靠的查询语言和为客户机锁定和解锁表的能力,多语句操作是允许的。
7、参照完整性(RI)
MySQL的主要缺陷之一是缺乏标准的RI机制。然而,MySQL的创建者并没有对其用户的愿望置若罔闻,并提供了一些解决方案。其中之一是支持唯一索引。大量的数据类型弥补了规则限制(固定字段的固定范围限制)的缺乏。检查约束(同一行中一个字段的值相对于另一个字段的限制)、外来关键字和通常与RI相关联的“级联删除”功能不是简单地提供的。有趣的是,当不支持这些函数时,SQL分析器容忍这些语句的语法。这样做的目的是方便地将数据库移植到MySQL。这是一个很好的尝试,也确实为以后支持这个功能留下了方便之门;但是,不仔细阅读文档的人可能会误以为这些功能实际上是存在的。
7.安全
从头到尾,我对MySQL最大的抱怨就是它的安全系统。它唯一的缺点是复杂而非标准,只有在调用mysqladmin重读用户权限时才会改变。直到最新版本才支持常用的SQL GRANT/REVOKE语句,但至少现在已经支持了。MySQL的作者已经广泛地记录了其特定的安全系统,但它确实需要一个学习过程,可能没有其他方法。
Apache+php+mysql是最佳搭配,也是与企业网的最佳搭配。
如果你学php,你可以在网上找到很多教程。其实学习任何程序最好的方法就是写,一直写,一直看。
当然最好的网站是dreamweaver,可以写很多代码和设计!