问题标签 [kohana]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
497 浏览

php - 有没有使用 Kohana 制作的使用身份验证和数据库的骨架项目?

为了快速开始使用 Kohana,我想知道是否有人做过一个简洁的骨架项目,它利用了每个 Web 开发人员需要的所有基本东西:

  • 使用登录的基本用户身份验证
  • 从 MySQL 数据库中检索一些东西并显示它

用手我会很快做到这一点。但是有了Kohana,感觉就像我必须爬上珠穆朗玛峰才能实现它。他们没有提供任何完整的示例,只是所有类型的代码片段。有一些“基本形状”从哪里开始制作一个动态平台会很酷。我的意思是,现在几乎每个网站都需要某种身份验证、登录和类似的东西。

如果有人知道一个简单的基本工作骨架项目示例,它不会被大量像 ajax 和 co 这样的怪异东西炸毁,那么链接会很酷。

0 投票
1 回答
2322 浏览

php - 如何用 Kohana 制作菜单导航结构?

我为小型项目创建了自己的小型轻量级框架,现在切换到 Kohana。

但我想知道实现导航层次结构的方法是什么。

示例:我有一个这样的菜单:

主页 | 产品 | 支持 | 接触

在我的旧框架中,当用户单击“产品”时,我的框架知道这是哪个导航层,然后我的视图将“_active”后缀附加到该菜单项的 css 类,因此它被突出显示。所有父导航元素都相同。

您如何在 Kohana 中设置您的网站以实现这样的目标?

我想过制作一个包含菜单栏的大布局视图。在那里,我必须实现所有逻辑来确定必须将哪个菜单项突出显示为活动的。是否有任何聪明的机制,或者如果一个 url 段与菜单项匹配,我是否只需要在一堆 if 语句中以某种方式从当前 url 中找出?

0 投票
1 回答
2077 浏览

phpunit - 是否有任何用于单元测试 kohana 基础项目的好教程(示例)?

我正在寻找 PHPUnit 在 KohanaPHP 框架上测试项目的最佳实践。

0 投票
2 回答
1062 浏览

php - 当其中有连字符时,是否有一种通用的方法可以在 Kohana 中路由 URL?

Kohana 会像这样自动设置 URL

http://www.example.com/controller/method/argument1/argument2/etc

现在我喜欢用破折号来分隔 URL 中的单词,我有一个这样的地址

http://www.example.com/business-hub

我的控制器名为 BusinessHub_Controller。让我恼火的是 /business-hub/ 为了匹配 BusinesHub 控制器,我需要在 application/config 文件夹下的 routes.php 中添加一个自定义条目。似乎我必须为每种方法添加一个,这真的很烦人。例如,这里有一段摘录,

显然,这真的很烦人。无论如何我可以告诉 Kohana 将 URL 转换为 camelCase 名称,例如

0 投票
7 回答
1483 浏览

php - 正确设计 MVC 项目

我已经使用 Kohana 几个月了,对于组织代码/演示文稿/db-layer 的 MVC 风格仍然相对较新。不幸的是,虽然有很多关于如何创建控制器、建立视图以及通过模型与数据库交互的文档,但我还没有找到很多处理干净和建议的开发模式的资源。

让我举一个简单的例子:

我的最新项目有一个控制器,因为我不确定我是否应该制作更多……或者何时应该制作一个新的。我如何准确地确定何时需要新控制器以及何时需要新模型?

0 投票
1 回答
476 浏览

php - 我将如何在 Kohana 中构建一个挂钩以将缺少的方法的 URL 发送回 index()?

我将如何在 Kohana 中构建一个钩子,以便...

除了调用控制器的索引方法并将“non_exisitng_method”作为参数传递之外,是否会路由到控制器标题“a_controller” ?

它还应该允许回退,因此如果 non_existing_method 是一种方法,它应该路由到该方法。

因此,在没有匹配方法的情况下,我的钩子会路由到索引并将 URL 的其余部分作为参数提供给索引。

我该怎么做?

0 投票
3 回答
3743 浏览

php - request::is_ajax() 如何在 Kohana 中工作?

Kohana 如何确定请求是否为 AJAX 请求?

推荐人字符串有什么不同吗?我是否需要添加一个 GET 参数,也许?ajax=true

0 投票
4 回答
10048 浏览

php - PHP 会话的最佳库

我已经使用 CodeIgniter 系统有一段时间了 - 但它有它的缺点。我很感激它教给我的东西,但现在我需要一个用于新的非 codeigniter 项目的库,所以我正在四处寻找关于哪些库有正确的东西和哪些没有的想法。我可能不得不从几个图书馆中获取我需要的一切。

我只是看了一下Kohana PHP 会话库,我喜欢它如何返回到使用 $_SESSION 超全局而不是强制更改为 $this->session 以进行数据访问的原生 PHP 方式。

无论如何,我想知道是否还有其他好的会话库我可能会搞砸。除了功能上的 CRUD 之外,会话中还必须处理很多事情。

  • 支持基于非 cookie 的会话传递(即 Facebook 或 Flash 上传器)
  • “Flash 数据”仅持续到下一页加载,然后被自动删除。
  • 与 $_SESSION 或 $this->session 一起使用,这样程序员就不必更改现有代码。
  • 支持设置新的会话 id(即 session_id('new id')),以防您想在页面中途更改 id。
  • 在页面请求结束时保存所有数据,而不是每次添加或删除数据时(节省额外的数据库查询)。
  • 支持使用文件、cookie 或数据库进行存储。(或者memcached会很好)
  • 在会话劫持的情况下尝试拒绝访问。(IP、用户代理或指纹

我刚刚花了一些时间研究 CodeIgniter 和 Kohana 会话库的逻辑,然后我想出了以下关于每个页面如何开始和结束会话的内容。

0 投票
3 回答
1973 浏览

php - 我可以在 Kohana 中设置路由以仅匹配特定的 HTTP 方法(GET/POST/等)吗

我正在探索一些 PHP 框架,目前的领跑者是 Kohana。

拥有 Rails 背景,我已经习惯了 rails 社区所称的“RESTful”路由。因此,“GET /posts”会显示所有帖子,并由 Posts Controller 的 index 方法处理。“POST /posts”创建一个新的 post 对象,并由 Posts Controller 的不同方法处理。

由于这两个请求中的路径相同,因此路由器需要根据 HTTP 方法做出决策。

Kohana 的路由器能做到这一点吗?

0 投票
6 回答
13660 浏览

php - 使用 $this, self::, parent:: 提高代码可读性

我想知道在 php 类中工作时是否可以接受/首选使用 self::method() 和 parent::method() 。

您可以使用 $this->method() 但 $this-> 也可以引用类变量、父类变量或父类中的方法。self:: 中没有歧义

self:: 是否已贬值和/或使用这种风格是否有任何警告或缺点?

我知道 self:: 和 parent:: 是指类的静态实例,但是在 kohana 中,除非您专门将方法定义为静态,否则似乎没有区别。

谢谢。

添加了一个示例:假设此应用程序存储来自多个网站的论坛...

此示例适用于 kohana,错误报告设置为:error_reporting(E_ALL & ~E_STRICT);

$this->site_id 在主 Controller_Core 类(kohana 中的一个库)中定义。

据我所知, $this 不应该可用,因为我以静态方式调用 self::categories() ,但只有当我将 categories() 定义为静态时,它才会引发错误。

但正如我所说,我更喜欢使用 self:: 因为从可读性的角度来看,我确切地知道这个函数应该在哪里,而不是使用 $this 会导致歧义,对我来说就是这样。