所以我使用的是一个名为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)
编辑:
我意识到这些不是变量,它们是常量...
如何检查Redis服务器是否正在运行?
如果它没有运行,我想回退使用数据库.
我正在使用FuelPHP框架,所以我愿意接受基于此的解决方案,或者只是标准的PHP.
我总是远离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('===')比较?
所以我几天前开始使用Git.(派对很晚 - 不要责骂:)).真正开始熟悉基本命令,想法和工作流程.然而,子模块真的让我的大脑有所作为.我正在尝试为FuelPHP的GitHub贡献代码,我可以使用一些指导和提示.
我在终端中运行以下命令:
//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) 我是流行的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
- 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 5.4.4并且我使用FuelPHP ORM保存和更新功能得到了非常奇怪的行为.
我正在尝试将序列化或JSON数据保存到数据库中的字段,如此类似{"name":"michael"}.当我在100%的时间model->save()之后Model::forge()似乎正常工作并且你看到的字符串是存储在MySQL数据库中的字符串之后直接使用它.
但是,如果我马上更改类似模型- >属性="新属性"(不是JSON或序列化的数据属性),然后做一套model->save(),将90%的时间把我的所有"成"
看来,当我调试问题并逐行执行时,它不会重现这个问题!它将通过整个脚本并仍然具有正确的"而不是"
这个问题让我疯了.我会假设它配置的东西或者会有更多的抱怨,但我找不到合适的开关.我已经设置了两个
php_flag magic_quotes_gpc Off和php_flag magic_quotes_runtime Off我的.htaccess(尽管PHP 5.4+中不应该这样做)并且验证两者都是假的.
我在这里没有想法.任何调查都会有所帮助.
我只是在对不同的框架进行比较 - 优点和缺点,基准测试,这种事情.我需要对未来的项目进行比较.
在这样做的过程中,我遇到了FuelPHP,Phil Stur正在为此工作.我从他的一些CodeIgniter插件中识别出这个名字.
有没有人用它来做项目呢?你会说这就像生产准备好吗?
我正在尝试让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)
请帮忙!
虽然这个问题可能与 其他许多问题类似, 但 我想就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)
优点:
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)
缺点:
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) 下面是我的fuelphp项目的目录结构
在公共文件夹中我有
当我点击基本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) fuelphp ×10
php ×8
frameworks ×2
orm ×2
apache ×1
codeigniter ×1
comparison ×1
database ×1
git ×1
github ×1
mysql ×1
performance ×1
redirect ×1
unix ×1