ajaxboy / cjax
一个让用户完全使用PHP代码编写ajax的ajax PHP框架!
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-17 15:03:45 UTC
README
70+ 演示/示例/文档,API可用。http://cjax.sourceforge.net/examples/
需求
- PHP 7.2+
注意,旧版本的PHP可能仍然支持,但并不推荐。
Cjax 5.9
版本5.9带来了可扩展性和处理能力的改进,可以用于处理重型ajax。它改善了缓存和核心功能、插件处理、速度。因此,您肯定想要这个版本(目前位于master分支)
注意:SourceForge不再是官方下载位置。
说明/下载
新的说明
您可以通过多种方式安装Cjax,以下是几种方法
git克隆
git clone https://github.com/ajaxboy/cjax.git
深入了解! - 前往示例目录,开始思考您的用例,并查看实现帮助。
底线是尝试将文件放在您网站的根目录(public目录)中。
INTEGRATION
Note: Cjax 5.9 has integration support for CodeIgniter built-in.
For further CodeIgniter Cjax Docs visit CI's wiki: https://github.com/bcit-ci/CodeIgniter/wiki/Ajax-Framework-For-CodeIgniter
There are other integrations being worked on, such as for Laravel.
If you download this package and figure out how to integrate it anywhere else, contact me @ajaxboy
and we can work together to incorporate that.
IMPORTANT: The current integration may have an issue when copying files,
please refer to a related problem here to see how to resolve this issue:
https://github.com/ajaxboy/cjax/issues/41
boom! 你已经设置好了。
##测试
现在,转到您网站的URL,http://yoursite.com/ajax.php?test/test(将http://yoursite.com替换为您网站所在的基础目录)
到此为止,您已完成,成功安装并使用Cjax,屏幕将给出进一步的说明。
您将看到一个测试,以证明Cjax在您的网站上正在运行,如果您看到成功消息,则意味着Cjax在您的网站上完全运行。
查看示例,以及代码示例,并开始使用,就这么简单。
有任何问题?在此问题选项卡上打开问题或联系我 @ajaxboy,我将很高兴提供帮助。
请注意,我确实提供专业安装服务,如果您需要该服务。
介绍
Cjax是一个小型轻量级但非常强大的Ajax框架,它将PHP代码转换为用户界面动作。它可以帮助您在记录时间内开发Ajax应用程序,一旦您熟悉简单的Cjax API,就可以节省高达60%的开发时间。
Cjax采用简约的Conventions Over Configuration模型方法。由于其MVC设计,它非常容易集成到现有的PHP框架中(如Zend、CodeIgniter、cakePHP、Yii等)。然而,它不需要框架,它可以在任何网站上很好地独立工作。
在大多数情况下,您只需要一行代码。Cjax携带一个插件系统(以及核心),这使得PHP和JavaScript看起来像恋人一样,这意味着它是您可以找到的PHP和JavaScript最无缝的集成。
与其他试图模仿Cjax的库不同,对于Cjax,没有'客户端'涉及,没有内联代码,没有处理请求,您只需要您的PHP代码就可以了。
##背景##
Cjax允许您在PHP端编写ajax,它为您提供了许多可以使您的开发体验变得顺畅的工具。它还节省了您大量时间,无需重新发明轮子 - 您可以看到,我花了多年时间完善这个工具,现在您可以随时使用它,而不必花那么多时间 - 以及金钱! - 更不用说研究和过度投入了。
Cjax 包含超过70个示例/样本/文档和API,可以让您用一行代码完成令人惊叹的事情,否则可能需要您花费数小时、数天,甚至数周!您知道,常见的成功消息、弹窗、使用Ajax提交表单、使用Ajax上传文件——这些都是您在应用程序或网站上会用到的常规功能。我刚刚提到的每一项功能,我都花了数天甚至数周的时间来编写代码,而且随着时间的推移,这些功能也在不断改进,Cjax已经发展成为一个Ajax功能的生态系统。
Cjax 将您所有的Ajax代码集中在同一个地方,使您的代码更加安全。Cjax 也只有一个接入点,使您的应用程序或网站非常安全。Cjax 允许您使用类,并通过调度器路由Ajax调用以到达您的Ajax控制器。它包括一个回调系统,允许您在页面加载时进行Ajax请求,同时,当您在服务器上触发一次Ajax请求后,它还允许您运行更多的Ajax代码,并从后端与您的应用程序或网站进行交互。这使您可以自由地在不同的Ajax方法之间切换,和谐地工作。此外,它还包括一种方法,您可以从后端操作页面上的所有元素,所有这些操作都在一个Ajax调用中完成。
Cjax 是构建Ajax功能的工具。它使用非传统的方法来扩展边界,让您只需编写非常少的简短代码。
Cjax 具有允许您调用和使用现有JavaScript的能力,而不需要对其进行修改。它真的让您以您希望的方式表达自己。您有旧的或新的自定义JavaScript,使用Cjax执行它——您可以从后端传递数据到您的现有函数,实例化它们。您使用其他第三方库或代码——没问题。Cjax 允许您从后端执行它,并传递数据给它,您可以根据需要多次调用它们,没有限制,只有天空才是极限。您可以传递简单的字符串或整数,也可以传递整个数组或对象。猜猜看,事实上,这正是Cjax插件的样子,“插件”只是一个形式,但它们实际上是用Cjax运行的定制代码。如果您运行了您自己的定制代码,您已经创建了一个Cjax插件!
Cjax 代码简单易懂,并使用约定优于配置的方法,用最少的代码做最多的事情。
示例,更多的示例,CJax的方式,一行PHP代码就能做到所有事情
示例 #1 - Ajax调用
非常简单明了,$ajax, element_id .. 调用 .. Ajax控制器,需要我说更多吗?
<?php $ajax->click('#element_id' , $ajax->call('controller/method')); ?> <!doctype html> <html> <head> <?php echo $ajax->init();?> </head> <body> <a id='element_id' href='#'>Click me</a> </body> </html>
示例 #2 - Ajax表单
我喜欢Cjax的原因是,您只需看一下那行代码,就能确切地知道它在做什么,即使您不懂PHP。在这个例子中,#form_anchor 是元素ID。您可以通过$ajax对象将Ajax表单分配给它,然后,嘭!您就有了一个Ajax表单。您真的可以将表单分配给页面上的任何具有ID的元素,当您点击它时,它将通过Ajax提交表单到指定的Ajax控制器,是的,您甚至可以上传文件!
<?php $ajax->form_anchor = $ajax->form('controller/method'); ?> <!doctype html> <html> <head> <?php echo $ajax->init();?> </head> <body> <form> Field #1 <input type='text' id='field1' name='field1' /> <br /> Field #2 <input type='text' id='field1' name='field2' /> <br /> <a id='form_anchor' href='#'>Click me To Submit Form</a> </form> </body> </html>
示例 #3 - Ajax覆盖,弹窗
这一行代码做了什么?它给元素#anchor添加了一个点击事件,当您点击这个锚点时,它将触发一个Ajax请求并从文件或控制器加载外部HTML。它将显示一个弹窗(新窗口),显示从控制器收集的内容。所有这些,只用了这一行代码,太棒了!
<?php $ajax->click('#anchor' , $ajax->overlay('controller/splashHTML')); ?> <!doctype html> <html> <head> <?php echo $ajax->init();?> </head> <body> <a id='anchor' href='#'>Click Show Overlay</a> </body> </html>
示例 #4 - 使用Cjax获取JSON对象
在这个示例中,我们将向您介绍Ajax控制器。Ajax控制器是一个PHP文件,专门用于处理您应用程序或网站上的任何目的的Ajax请求。实际上,整个目录都是为Ajax请求而设计的。要到达这个Ajax控制器,您需要通过一个名为ajax.php的分发器文件。分发器会将您的请求路由到控制器。
要获取JSON对象,只需从您的Ajax方法返回一个数组即可。
<?php $ajax->click('#anchor_id' , $ajax->call(array('JsoncController','JsonData'))); ?> <!doctype html> <html> <head> <?php echo $ajax->init();?> </head> <body> <a id='anchor_id' href='#'>Click to get Jason object</a> </body> </html> File: controllers/JsonData.php Class JsoncController { public function JsonData() { return $_SERVER;; } }
示例代码
请查看在线示例/演示:http://cjax.sourceforge.net/examples/
当然,您也可以直接下载并在您的开发环境中查看示例,这将更加理想。
完整API文档
http://cjax.sourceforge.net/docs/
问答环节
cjax会给我的页面添加大量代码/影响吗?
不!绝对没有!Cjax与PHP会话一起工作,它保存一个变量以跟踪您的Ajax操作。这个变量以数组格式存储,然后转换为XML字符串,这个字符串由Cjax的引擎处理,一旦解释,就提供所需的功能。Cjax使用最佳方法与DOM元素交互,不需要在页面上添加任何代码。页面上绝对没有打印任何代码!这就是为什么Cjax如此快的原因!
Cjax与jQuery竞争吗?
有些人提出了这个问题,对此有大量的解释。但我将简要总结。
Cjax不是JQuery的替代品。Cjax提供了许多功能,除了允许您使用通配符选择器和Ajax请求外。Cjax提供了一套强大的MVC系统,用于使用Ajax来增强应用程序的后端。JQuery将在前端做到这一点。在某些情况下,Cjax使用jQuery快速生成工具(插件),这些工具在前后端都非常强大。