标签 语法 下的文章

Rails 关于Rails那些奇奇怪怪的新手笔记

这两天属于北京填鸭式的给自己灌输了一堆Rails的知识,其实心挺累的,最后几乎看不进去了……

首先先说明,当Rails创建ControllerModel之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建ControllerModel之类的同时,他会创建一堆方法!!!
首先先说明,当Rails创建ControllerModel之类的同时,他会创建一堆方法!!!

因为很重要所以要说三遍。

这里也就是草稿的集合,具体请查询相关教程手册。

- 阅读剩余部分 -

Rails 实现用户登录存取Session思路总结

《Ruby On Rails Tutorial 中文版》中的第八章,把思路总结了一下,大概是Session构建的9个过程:

第一步:新建controller

执行:rails generate controller Sessions,同时会创建一个Helper,之后我们会反复使用

第二步:定义路由

在routes.rb中追加:resources :sessions, only: [:new, :create, :destroy]

追加完毕之后,我们还需要写一下match:

match '/signin',  to: 'sessions#new', via: 'get'
match '/signout', to: 'sessions#destroy', via: 'delete'

- 阅读剩余部分 -

Mac OSX PHP安装mcrypt指南

在Laravel时我发现无法正常使用,于是开始折腾。
报错:

undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
类似于这样。

于是要查了一下,要安装这个模块:brew install mcrypt,成功,接下来根据PHP,当时我的是5.4的,运行了一下:brew install php54-mcrypt,失败。

查了一下先执行安装:

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php

安装完毕后在此运行,然后重启apache,发现没用,phpinfo()里也没有显示,于是抱着试试看的心态运行了brew install php55-mcrypt,万万没想到!然后默默的就变成php5.5了……但是php -v仍然是5.4。运行brew link --overwrite php55,此时指向5.5了,但是仍然不行。

网上说,在php.ini里写入extension=mcrypt.so就行了。
但是关键是,php.ini和mcrypt.so的位置我都不知道。

再次抱着试试看的心态,我运行了:brew link php55-mcrypt,成功获得了mcrypt的地址。
然后:
sudo vim /etc/php.ini
写入:
extension=/usr/local/Cellar/php55-mcrypt/5.5.23/mcrypt.so

重启apache,搞定。

在OSX中,重启apache的命令是:sudo apachectl restart

jQuery 获取元素位置的两个方法

offset():
获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。
position():
获取匹配元素相对父元素的偏移。
返回的对象包含两个整形属性:top 和 left。为精确计算结果,请在补白、边框和填充属性上使用像素单位。此方法只对可见元素有效。

well,方便计算偏差和定位有木有!

使用起来:$(element).offset().top,like that

PHP 使用foreach赋值的正确姿势

过去在使用foreach时明显都是拿来输出,所以说并没有什么感觉,这次需要写一个date函数:

    function getDateArray($dateArr, $key) {
        foreach ($dateArr as &$value) {
            $value[$key] = date('Y-m-d H:i:s', $value[$key]);
//            echo $value[$key];
        }
        
        return $dateArr;
    }

如果我们使用$dateArr as $value,我们会发现在foreach外,其实$dateArr还是这点值,于是乎,可以确定,foreach只是把值传给了value,而不是引用,加上&让他传引用,完事=w=

PHP PDO详解攻略

在这里,有一篇名为php-使用-pdo-存取資料庫一存取步驟與常用功能介紹,感觉比大陆那些大网站们写的好多啦(* ̄︶ ̄)y y,1=^_^)y很好懂呢。

官方手册系列传送门

基本上去年在学PHP的时候也写过一篇,PHP 数据库抽象层PDO的使用

以上基本上是所有的参考文章,我们把PDO分为这样几步吧,这次我也是这么按照步骤做下来的:

  • 连接数据库
  • 编写SQL语句
  • 准备
  • 绑定相关值
  • 执行
  • (如果是查询)获取

- 阅读剩余部分 -

CSS 再来说说置于底部的footer

早在去年我们就研究过了关于footer如何写的话题:CSS 对底部应该做的处理

在这次做Microblog的时候,由于背景是通过body实现的,如果html,body设定了100%,背景就不能完全覆盖了,为此纠结了好久,不过最后还是solved了,但我觉得想到的固定footer,可以变化参照物来实现,既然body/container都不行,那参照物变成html嘛,于是给了html一个position,footer使用absolute定位到底部,get.

当然,最后的标准实现还是同那篇文章,不同的地方在于:

body {
    background: url(../img/background.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed;
    font-family: "Helvetica Neue", Helvetica, Arial, 'Microsoft Yahei', sans-serif;
}

我们这里通过background-attachment来固定背景=w=这样就不会受到body height始终100%的限制啦~

jQuery 遍历获得的json数组

我们抛给PHP一串数组,然后用json_encode()返回成json格式:

<?php
    $arr = Array(Array('id' => '1000', 'content'=>'Hello World', 'time' => '2015-2-27 14:23:20'), Array('id' => '1001', 'content'=>'今天天气不错', 'time' => '2015-2-27 18:20:21'));
    echo json_encode($arr);

?>

得到:

[{"id":"1000","content":"Hello World","time":"2015-2-27 14:23:20"},{"id":"1001","content":"\u4eca\u5929\u5929\u6c14\u4e0d\u9519","time":"2015-2-27 18:20:21"}]

于是乎,很蠢的我就不知道怎么遍历这货,其实也不难:

var array = $.parseJSON(data);
var i, message;
$.each(array, function(i, message) {
//    self.addNew(message.id, message.content, message.time, false);
});

只要使用each就好啦~。

jQuery+PHP 大话ajax免刷新提交表单与切换页面

昨天折腾了一个晚上,今天在抽空折腾的东西,不记下来未免太浪费了,于是我决定花晚上把它写下来。

Ajax是目前最流行的优化用户体验的方法,但在过去,他往往代表着牺牲SEO以及抛弃浏览器后退前进功能,但是现在,已经不是这样了。

现在的Ajax完全可以做到兼备,所以你可以看到,基本上,在你提交表单之后再也不用跳转之后才告诉你你的输入是否正确,甚至在搜索时,一边输入字符,一边进行检索。

这些都是Ajax所带来的便利,但是鉴于我还没有前后端整站写过(只有使用前后框架[PHP MVC]以及前端的经历),所以对整个流程还不能说熟悉。这次,我们从后端写到前端,一点点来解刨Ajax的套路。

- 阅读剩余部分 -