ajaxboy/cjax

一个让用户完全使用PHP代码编写ajax的ajax PHP框架!

安装: 14

依赖关系: 0

建议者: 0

安全性: 0

星标: 66

关注者: 13

分支: 27

开放性问题: 26

语言:JavaScript

0.0.1.x-dev 2019-12-03 18:09 UTC

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分支)

alt tag

注意: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快速生成工具(插件),这些工具在前后端都非常强大。