小编Ist*_*med的帖子

如何使用php serialize()和unserialize()

我的问题非常基本.

我没有找到任何例子来满足我的需求,究竟serialize()unserialize()在PHP是什么意思?他们只举一个例子 - 序列化一个数组并以一种原因不明的格式显示输出.通过他们的术语很难理解基本概念.

编辑:

<?php

$a= array( '1' => 'elem 1', '2'=> 'elem 2', '3'=>' elem 3');
print_r($a);
echo ("<br></br>");
$b=serialize($a);
print_r($b);

?>
Run Code Online (Sandbox Code Playgroud)

输出:

Array ( [1] => elem 1 [2] => elem 2 [3] => elem 3 ) 

a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}
Run Code Online (Sandbox Code Playgroud)

我无法理解第二个输出.除此之外,任何人都可以举例说明我需要在使用之前序列化一个php数组吗?

php

118
推荐指数
6
解决办法
23万
查看次数

依赖注入和依赖反转之间的区别

存在两种设计模式,即依赖注入和依赖性反转,文章在网上试图解释差异.但是,用更容易的话来解释它的必要性仍然存在.那里有人来接?

我需要在PHP中理解它.

php design-patterns dependency-injection dependency-inversion

23
推荐指数
3
解决办法
7150
查看次数

php,如果数字是整数,则添加尾随零

简单的数学:

  $a=$b/$c; echo $a;
Run Code Online (Sandbox Code Playgroud)

如果$ b等于123.00且$ c等于1,则$ a变为123.

如果$ b是123.50,$ c是1,$ a是123.50.但在前一种情况下,我希望$ a为123.00.

可以测试$ a是否具有任何非零分数部分,然后根据需要添加尾随零.

但我正在寻找PHP功能来做同样的事情.可能?

编辑:

如果我不想要number_format那里的逗号怎么办?

php

12
推荐指数
2
解决办法
2万
查看次数

react.js - 在表单提交时及之后显示消息

在提交表单时,我想显示"Please wait .."并成功提交从服务器返回的数据.使用jQuery,很容易做到.但是应该有一种React方式,因为React不喜欢这种直接的DOM操作 - 我想.1)我是对的吗?2)如何在表单提交后显示消息?

var FormComp = React.createClass({

    handleSubmit:function(){

    var userName=this.refs.userName.getDOMNode().value.trim();
    var userEmail= this.refs.userEmail.getDOMNode().value.trim();

    if(!userName || !userEmail){

    return;

    }


    this.props.onFormSubmit({userName:userName, userEmail:userEmail,url:"/api/submit"});

    this.refs.userName.getDOMNode().value='';
    this.refs.userEmail.getDOMNode().value='';

    return;

    },

    render: function() {
    var result=this.props.data;

       return (
        <div className={result}>{result.message}</div>

         <form className="formElem" onSubmit={this.handleSubmit}>
            Name: <input type="text" className="userName" name="userName" ref="userName" /><br/>
            Email: <input type="text" className="userEmail" name="userEmail" ref="userEmail" /><br/>
            <input type="submit" value="Submit" />

         <form >

        </div>


        );
      }
    });


    var RC= React.createClass({

    getInitialState: function() {

     return {data: ""};
      },

    onFormSubmit:function(data){

       $.ajax({
          url: this.props.url, …
Run Code Online (Sandbox Code Playgroud)

forms form-submit reactjs

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

孟加拉语文本未显示在Unicode CSV文件中

我有孟加拉语的Excel文件.要正确显示孟加拉语文本,我需要在PC上安装孟加拉语字体.

我使用Office 2010将Excel文件转换为CSV.但它只显示'?' 标记而不是孟加拉语字符.然后我使用Google Docs进行转换,遇到同样的问题,但是字符不可读而不是'?'.我将该文件中的摘录粘贴到HTML文件中,并试图在我的浏览器中不加思索地查看它.

如何从孟加拉语的.xlsx文件中获取CSV文件,以便将其导入MySQL数据库?

编辑:在这个SO问题中接受的答案让我去了Google Docs.

mysql unicode excel internationalization

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

从ReactJS外部渲染组件

这里:

"在React之外获取React Component实例句柄的唯一方法是存储React.render的返回值."

我需要在React之外渲染一个React组件,我将在下面提到它的原因.

在我的node.js,expressJS应用程序中,我使用'react-router-component''react-async'.

在app.js中 - 应该运行的文件,

    var url=require('url');   
    var App=require('./react/App.jsx');
    var app = express();
    app.get('*',function(req,res){


    //}); SEE EDIT 1 BELOW

    var path = url.parse(req.url).pathname;
                ReactAsync.renderComponentToStringWithAsyncState(App({path:path}),function(err, markup) {
    res.send('<!DOCTYPE html>'+markup);

          });
   });
Run Code Online (Sandbox Code Playgroud)

在App.jsx中,

   PostList = require('./components/PostList.jsx');
   var App = React.createClass({
   render: function() {
        return (

           <html>
           <head lang="en">
           </head>
        <body>
        <div id="main">

        <Locations path={this.props.path}>

          <Location path="/" handler={PostList} />
          <Location path="/admin" handler={Admin} />
        </Locations>


       <script type="text/javascript" src="/scripts/react/bundle.js"></script>
       <script type="text/javascript" src="/scripts/custom.js"></script>                 

        </body>
        </html>
        }); 
Run Code Online (Sandbox Code Playgroud)

bundle.js …

node.js express reactjs react-jsx react-async

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

passport.js,在弹出窗口中进行身份验证后,关闭它并重定向父窗口

在我的node.js express app中,我使用passport.js集成了Facebook身份验证.我可以在弹出窗口中打开Facebook登录页面,然后进行登录.在此阶段,重定向发生在弹出窗口中.但我需要关闭弹出窗口并在父窗口中进行重定向(即父窗口将重定向).我将在这里粘贴完整的代码,虽然我认为主要问题是在模板文件(.ejs)中.

我在SO中的类似问题中找不到任何解决方案.

// Passport session setup.
passport.serializeUser(function(user, done) {
  done(null, user);
});

passport.deserializeUser(function(obj, done) {
  done(null, obj);
});


// Use the FacebookStrategy within Passport.
passport.use(new FacebookStrategy({
    clientID: config.facebook_api_key,
    clientSecret:config.facebook_api_secret ,
    callbackURL: config.callback_url
  },

  function(accessToken, refreshToken, profile, done) {

    console.log(" id = "+profile.id);

    process.nextTick(function () {
      //Check whether the User exists or not using profile.id
      //Further DB code.
      profile.user_id="00000444000555";
      return done(null, profile);
    });

  }
));

app.set('views', __dirname + '/views');

app.set('view engine', 'ejs');
//app.set('view engine', …
Run Code Online (Sandbox Code Playgroud)

facebook popup node.js passport.js

9
推荐指数
2
解决办法
7347
查看次数

Laravel - 应该采取哪些步骤使 Laravel 应用程序为生产模式做好准备

场景是我在我的本地主机中开发了一个 Laravel 应用程序。一切正常。现在我需要让它上线。我只是想弄清楚在让它上线之前我应该​​采取哪些步骤(配置、安全等)。

我列出了几个步骤:

1).env使用APP_ENV=production.

2) 避免直接在页面中显示错误,因为这会暴露应用程序的内部结构。改为启用错误日志记录。

3) 使用缓存以获得更快的用户体验 4) 构建一个不错的 404,未找到页面

将应用程序从开发模式转变为生产模式我还应该做什么?

environment development-environment production-environment web-deployment laravel

9
推荐指数
2
解决办法
7821
查看次数

node.js,express - 以同步方式在循环内一个接一个地执行mysql查询

在我的node.js,表达应用程序,我正在与superagent中间件进行ajax调用.该调用使用node-mysql中间件通过相当多的数据库查询来获取复杂数组中的数据库数据.

在粘贴代码之前,我试图用语言解释我想要做什么,尽管代码足以说明它想要做什么,并且第一次回调中的所有异步事件应该以同步方式完成.

说明:

在第一个查询的回调中,执行for循环以多次运行第二个查询,并且在每个循环之后,仅在第二个查询的回调完成后才调用下一个循环.下一个代码行的情况也是一样的.

码:

但是,您可以跳过 for循环的内部(在注释中标记),以便在需要时简化和简化.

conn.query("SELECT * FROM `super_cats`",function(error, results, fields) {   

        if(error){console.log("erro while fetching products for homepage "+ error);}

        for(var i in results) { // FIRST FOR LOOP INSIDE THE FIRST QUERY CALLBACK

            /*Innards of for loop starts*/    
            var elem = new Object();
            var supcat_id=results[i].id;
            elem.super_id =supcat_id;
            elem.cats=new Array();
            var cat= '';
            /*Innards of for loop ends*/ 

            conn.query("SELECT * FROM `categories` WHERE `supcat_id`="+supcat_id,function(error_cats, results_cats, fields_cats) {   

                if (error_cats) …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js express node-mysql

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

添加动态类名称

react.js中,我需要为a添加一个动态类名div.
使用反应插件,我尝试以下方式,但徒劳无功:

var addons = require('react-addons');
var cx = addons.classSet;   

var Overlay = React.createClass({

    render: function() {
        var prod_id = this.props.prop_id;
        var large_prod_class = 'large_prod_modal_' + prod_id;

        var modal_classes = cx({
            'large_prod_modal': true,
            large_prod_class: true,
            'hidden': true
        });

        return (<div className={modal_classes}>lorem ipsum</div>);
    }
});
Run Code Online (Sandbox Code Playgroud)

Overlay组件在使用方式如下:

<Overlay prod_id="9" />
Run Code Online (Sandbox Code Playgroud)

然而,prop(即:) prod_id值是随机的.我没有large_prod_modal_9上课div.我得到的所有课程都是large_prod_modal,large_prod_classhidden

如何large_prod_modal_9上课div

javascript css reactjs

8
推荐指数
2
解决办法
3万
查看次数