小编juc*_*uco的帖子

php DAL - 单独的实体和数据库?

我一直在研究和阅读很多关于在PHP中使用单独的层来创建可维护和可读的代码.但是,我看到很多代码将实体和数据库访问放在一个类中.例如:

class User{
     public $id;
     public $username;
     public $database;

     function add(){
           $database->query ....
     }
}
Run Code Online (Sandbox Code Playgroud)

我觉得这很奇怪,因为在这里你将User类与数据库元素混合在一起,这使得维护起来更加困难.

我喜欢这样工作:

  • 一个单独的数据库类
  • 用户类
  • 一个userData类

这样工作如下:

$database = new Database();
$database->openConnection();
$dataUser = new DataUser($db);
$user = new User(1,"myname");
$dataUser->saveUser($user);
Run Code Online (Sandbox Code Playgroud)

所以我想知道,我是以正确的方式工作还是第一种创建代码的更好方法?我发现可能很容易维护,因为你有一个单独的实体和一个单独的数据库类来处理数据库操作.

php database oop model

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

session_start()每次刷新都会创建新的会话

我有一个问题 session_start()。每次刷新/加载页面时,它都会创建一个新会话。

这是代码:

<?php
    $bob = session_id();
    echo "Session ID on load is ".$bob;
    echo "<br>";
    if($bob==""){
        session_start();
        $bob = session_id();
        echo ' session ID currently is '.$bob;
    }
// a bunch more stuff
Run Code Online (Sandbox Code Playgroud)

当我加载页面时,得到以下信息:

加载的会话ID为当前会话ID为ed320bc5e24c871c9db8ea30e6796c14(或其他版本)

如果刷新页面,我得到:

加载的会话ID为当前会话ID,当前为fbd69d01d511a7be382799dca7279a86(或变体)

会话ID在session_start()调用之前始终为空,并且始终是新的session_id()

它在所有浏览器中都执行此操作,并且我已检查以确保已打开Cookie。

会话保存路径为/tmp。我不确定确切的位置,但是通过我的根目录和所有其他目录,我找不到会话文件(假设它看起来像sess_fbd69d01d511a7be382799dca7279a86)。

因此,我认为保存路径上发生了一些事情,但是对于此事来说还太陌生,无法确定,服务器管理员对此毫无帮助。我在诊断问题时应该采取的下一步措施是什么?服务器正在运行5.3.22。

phpinfo在这里

谢谢你的帮助。

ps,您可以访问pcm.pcmxa.com亲自查看该问题。

php sessionid session-cookies

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

如何增加PHPStorm 9堆大小?

我已经安装了PHPStorm 9的EAP,我试图增加我分配的堆大小而没有任何运气.

我在Mac OS X Yosemite上,我按照此页面上的说明操作:https: //www.jetbrains.com/phpstorm/help/tuning-phpstorm.html

应将文件/Applications/PhpStorm.app/Contents/bin/idea.vmoptions复制到

〜/库/首选项/ WebIdeXX/idea.vmoptions

任何建议将不胜感激!与PHPStorm 8完全相同的事情没有任何问题.

configuration phpstorm

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

URL编码从JS到Drupal的字符串

我有一个使用Ajax的Drupal Web应用程序; 有时,Ajax函数需要将字符串作为参数传递给Drupal函数

$.ajax({url: "index.php?q=get_value/"+encodeURIComponent(value),  
Run Code Online (Sandbox Code Playgroud)

当值包含斜杠时,无法从Drupal函数中识别出

 function get_value($value) {
       print urldecode($value);
Run Code Online (Sandbox Code Playgroud)

例如,如果传递的字符串是ABC/123,则get_value仅打印ABC

如何解决这个问题传递斜杠并从PHP/Drupal获取整个字符串?

javascript uri drupal url-encoding

4
推荐指数
1
解决办法
1109
查看次数

如何输出所有属性jbuilder,而不必全部指定它们?

我正在使用json在postgresql中存储我的数据的文档版本.我想输出一个完整的对象树,包括孩子,孩子的孩子等以及所有属性.如果以后将任何属性添加到任何对象,我希望它们包含在后续的json中.

有没有办法输出整个内容而不必至少每个属性?即不是这样的:

json.(object_name, :id, :attr1, :attr2.... etc)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

4
推荐指数
1
解决办法
3195
查看次数

如何将此js.erb更改为haml

$('body').replaceWith('<%= escape_javascript(render(:partial => 'search_result2', :query => @result_query)) %>');
Run Code Online (Sandbox Code Playgroud)

我想在.html.hamlJavaScript中使用它,

$('body').replaceWith('<%= escape_javascript(render(:partial => 'search_result2', :query => @result_query)) %>');
Run Code Online (Sandbox Code Playgroud)

如何改变这一行

<%= escape_javascript(render(:partial => 'search_result2', :query => @result_query)) %>
Run Code Online (Sandbox Code Playgroud)

javascript ruby ajax jquery

3
推荐指数
1
解决办法
618
查看次数

Rails:使用另一个控制器中的helper_method

我有以下控制器:

class FirstController < ApplicationController
  helper_method :contoller_method

private 
  def contoller_method
    "text"
  end
end
Run Code Online (Sandbox Code Playgroud)

如何contoller_method在另一个控制器的视图中使用?有最好的做法吗?

ruby-on-rails helper

2
推荐指数
1
解决办法
3426
查看次数

PHP MySql $ _GET问题

我试图通过论坛搜索,但我是一个新手,我变得更加困惑.

我试图从表单中提取输入并将其用作MySql查询中的变量.该表格的缩短版本是 -

echo "<form  method=\"get\" action=\"\">";
echo "<tr><td>Leave:</td><td><input value=\"".$_SESSION['leave']."\" class=\"text\" autocomplete=\"off\" type=\"text\" value=\"\" /></td></tr>";
echo "</form>";
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用代码将输入存储到变量中 -

$newVar = $_GET['leave'];
Run Code Online (Sandbox Code Playgroud)

但是我得到一个未定义的索引错误.

有人能帮忙吗?对不起,如果这是一个非常基本的问

html php

0
推荐指数
1
解决办法
90
查看次数

数组循环php

我试图从表中获取数据并将其存储在名为"items"的数组中,然后使用索引访问它.我收到错误"Undefined offset:0".代码有什么问题?

$i=0;

while($row = mysql_fetch_array($sqlquery))
{
    $name = $row['name'];

    $items = array();

    $items[$i] = $name;

    $i= $i +1;
}

echo $items[0];
echo $items[1];
Run Code Online (Sandbox Code Playgroud)

php arrays

0
推荐指数
1
解决办法
138
查看次数