标签: fuelphp

如何检查PHP中是否存在常量

所以我使用的是一个名为fuelphp的PHP框架,我的这个页面是一个HTML文件所以我不能在其中使用PHP,而且我有另一个文件,其中有一个顶部栏,我的HTML文件将调用通过ajax.而我只是问,我们如何检查PHP中是否存在常量?又名(fuelphp框架文件位置)

所以这些是我需要检查的常数(我只需要检查其中一个)

define('DOCROOT', __DIR__.DIRECTORY_SEPARATOR);
    define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
    define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
    define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);                    
    require APPPATH.'bootstrap.php';
Run Code Online (Sandbox Code Playgroud)

编辑:
我意识到这些不是变量,它们是常量...

php fuelphp

52
推荐指数
5
解决办法
6万
查看次数

如何检查Redis服务器是否正在运行

如何检查Redis服务器是否正在运行?

如果它没有运行,我想回退使用数据库.

我正在使用FuelPHP框架,所以我愿意接受基于此的解决方案,或者只是标准的PHP.

php fuelphp

24
推荐指数
6
解决办法
3万
查看次数

身份条件"===",性能和转换

我总是远离stackoverflow的答案和我所做的任何阅读"==="都优于"=="因为使用更严格的比较,并且你不浪费资源转换值类型以检查匹配.

我可能会以错误的假设来到这里,所以我假设这个问题的一部分是"我的假设是真的吗?"

其次,

我正在处理一种情况,我以字符串的形式从数据库中获取数据"100".

我比较的代码就是这个......

    if ($this->the_user->group == 100) //admin
    {
        Response::redirect('admin/home');
    }
    else   // other
    {
        Response::redirect('user/home');
    }
Run Code Online (Sandbox Code Playgroud)

    if ( (int) $this->the_user->group === 100) //admin
    {
        Response::redirect('admin/home');
    }
    else   // other
    {
        Response::redirect('user/home');
    }
Run Code Online (Sandbox Code Playgroud)

甚至

    if (intval($this->the_user->group) === 100) //admin
    {
        Response::redirect('admin/home');
    }
    else   // other
    {
        Response::redirect('user/home');
    }
Run Code Online (Sandbox Code Playgroud)

是通过手动转换或转换获得的任何完整性(或性能),以便您可以使用identity('===')比较?

php comparison performance fuelphp

9
推荐指数
1
解决办法
811
查看次数

Git子模块工作流程建议

所以我几天前开始使用Git.(派对很晚 - 不要责骂:)).真正开始熟悉基本命令,想法和工作流程.然而,子模块真的让我的大脑有所作为.我正在尝试为FuelPHPGitHub贡献代码,我可以使用一些指导和提示.

我在终端中运行以下命令:

//1: clone the repository from Fuel's github.
git clone git://github.com/fuel/fuel.git

//2: move into the main fuel directory
cd fuel

//3: initilize the submodules (populate .git/config with submodule data)
git submodule init

//4: download the submodules...
git submodule update

//5: move into the core directory (which is a submodule).
cd fuel/core

//6: change branch from (*no branch) to 1.1/develop
git checkout 1.1/develop

//7: open random file in text editor + make …
Run Code Online (Sandbox Code Playgroud)

php git github fuelphp

9
推荐指数
1
解决办法
4832
查看次数

使用HTML5 Boilerplate构建脚本和PHP框架

我是流行的HTML5 Boilerplate的忠实粉丝.我喜欢使用构建脚本来实现minifiy等,但我无法弄清楚如何使所有内容协同工作.为了增加乐趣,我使用Git进行部署 - 没有FTP.

Paul Irish关于使用构建脚本的视频很棒,最后他展示了一种在服务器上部署的方法,然后使用.htaccess从.com /到.com/published/site /重新连接流量 - 但是这不是当你有一个webapp并且你正在使用视图时真的有效.将任何代码放在public_html中也是一个非常糟糕的习惯.

所以这是我在部署和构建的网站之后的结构:

- webapp
   - app
      - classes
          - welcome.php
      - views
          - template.php
   - framework
- public_html
   - index.php
   - css
   - js
   - img
Run Code Online (Sandbox Code Playgroud)

但它需要:

  • 仍然能够在本地开发,而不必每次都进行构建!
  • 可爱 - 部署到服务器,然后构建
  • 从webapp缩小并读取视图

我的第一次尝试结束了这样:

- webapp
   - app
      - classes
          - welcome.php
      - views
          - template.php
   - framework
- public_html
   - index.php
   - css (minified)
   - js (minified)
   - img (minified)
- dev_html
   - index.php
   - build
          - etc...
   - css
   - …
Run Code Online (Sandbox Code Playgroud)

php frameworks codeigniter fuelphp

8
推荐指数
1
解决办法
5139
查看次数

ORM的FuelPHP更新导致" 而不是"零星的

我正在使用PHP 5.4.4并且我使用FuelPHP ORM保存和更新功能得到了非常奇怪的行为.

我正在尝试将序列化或JSON数据保存到数据库中的字段,如此类似{"name":"michael"}.当我在100%的时间model->save()之后Model::forge()似乎正常工作并且你看到的字符串是存储在MySQL数据库中的字符串之后直接使用它.

但是,如果我马上更改类似模型- >属性="新属性"(不是JSON或序列化的数据属性),然后做一套model->save(),将90%的时间把我的所有""

看来,当我调试问题并逐行执行时,它不会重现这个问题!它将通过整个脚本并仍然具有正确的"而不是"

这个问题让我疯了.我会假设它配置的东西或者会有更多的抱怨,但我找不到合适的开关.我已经设置了两个 php_flag magic_quotes_gpc Offphp_flag magic_quotes_runtime Off我的.htaccess(尽管PHP 5.4+中不应该这样做)并且验证两者都是假的.

我在这里没有想法.任何调查都会有所帮助.

php mysql orm fuelphp

7
推荐指数
1
解决办法
566
查看次数

FuelPHP - 生产准备好了吗?

我只是在对不同的框架进行比较 - 优点和缺点,基准测试,这种事情.我需要对未来的项目进行比较.

在这样做的过程中,我遇到了FuelPHP,Phil Stur正在为此工作.我从他的一些CodeIgniter插件中识别出这个名字.

有没有人用它来做项目呢?你会说这就像生产准备好吗?

php frameworks fuelphp

6
推荐指数
1
解决办法
1954
查看次数

带有Apache Directory和RewriteRule的通配符?

我正在尝试让FuelPHP在我的服务器上运行.我没有权限使用.htaccess文件用于RewriteRule.但是,我的主机允许我指定httpd.conf文件的一部分.

以下是我想要的:

<Directory /Applications/XAMPP/xamppfiles/htdocs/sandbox/username/public>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
Run Code Online (Sandbox Code Playgroud)

但是,我需要它不仅仅是"用户名".如何在此目录中使用通配符,以便它适用于一次性解决方案的任何"用户名"值?

我在apache手册上找到了这个建议,但是我不知道如何让它与它一起工作RewriteRule.

试过以下但是没有用:

<Directory /Applications/XAMPP/xamppfiles/htdocs/sandbox/*/public>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
Run Code Online (Sandbox Code Playgroud)

请帮忙!

unix apache fuelphp

5
推荐指数
1
解决办法
5686
查看次数

适用于i18n的FuelPHP ORM数据库架构,意见/建议

虽然这个问题可能 其他许多问题类似, 我想就FuelYP上针对i18n的最佳方法提出意见/建议.

所以,这是我到目前为止所得到的:

数据库架构#1:

models (id, name_pt, name_es, name_en, description_pt, description_es, description_en)
Run Code Online (Sandbox Code Playgroud)

样本数据#1:

(1, 'Modelo', 'Modelo', 'Model', 'Descrição do modelo', 'Descripción del modelo', 'Model description')
Run Code Online (Sandbox Code Playgroud)

优点:

  • 直接而简单
  • 每个型号一张表
  • 无需使用JOIN
  • 使用魔术方法简化数据访问:

 

public function & __get($property)
{
    if (array_key_exists($property, array('name', 'description')))
    {
        $property = $property.'_'.Session::get('lang_code');
    }

    return parent::__get($property);
}
Run Code Online (Sandbox Code Playgroud)

这样,我就可以打电话了:

$model->name;
$model->description;
Run Code Online (Sandbox Code Playgroud)

代替:

$model->{'name_'.Session::get('lang_code')};
$model->{'description_'.Session::get('lang_code')};
Run Code Online (Sandbox Code Playgroud)

缺点:

  • 拥有大量语言/翻译字段可能会变得混乱.
  • 添加新语言意味着向表中添加新字段
  • 魔术方法仅在我们已有ORM实例/对象时才有效.要通过由翻译字段排序的查询构建器来获取ORM实例,它仍然需要以下代码:

 

Model_Model::query()
    ->order_by('name_'.Session::get('lang_code'))
    ->get();
Run Code Online (Sandbox Code Playgroud)

数据库架构#2:

languages (id, code, name)
models (id)
i18n_models (id, …
Run Code Online (Sandbox Code Playgroud)

database orm internationalization fuelphp

5
推荐指数
1
解决办法
589
查看次数

找不到对象!在Fuel php中重定向路由之后

下面是我的fuelphp项目的目录结构

  • 汽油
  • 日志
  • 上市
  • TMP

在公共文件夹中我有

  • 资产
  • 的index.php

当我点击基本URL以外的任何URL时,它会抛出以下错误

找不到对象错误

这是我的登录代码

public function action_index(){

    $html = new Template();

    if(Session::get("logged_in")){

      Response::redirect('/test-newsletter');

      exit(0);
    }
     // die("in ifss");
    if(Input::post()){

      $username = Input::post('username','');
      $password = Input::post('password','');

      if($username === "username" && $password === "password") {

        Session::set('logged_in', true);

        Response::redirect('/test-newsletter');

      }else{
        $html->assign('message','Wrong username or password');  
      }

    }

    return $html->fetch('login.tpl');

  }
Run Code Online (Sandbox Code Playgroud)

这是我的routes.php

<?php

return array(

  "_root_"  => "default/index", 
  "logout" => "default/logout",
    "_404_"   => "default/404",
  "time" => "default/time",  
  "test"  => "default/test",

  "birthdays" => "backstage/birthdays",
  "earned-status" => "backstage/earned_status",
  "nearly-new-status" …
Run Code Online (Sandbox Code Playgroud)

php redirect fuelphp

5
推荐指数
1
解决办法
415
查看次数