thinksns4.3无法安装的可以尝试

thinksns4.3无法安装的可以尝试,4.0以后thinksns应该是换了核心开发人员,海虾肯定不在写代码了。

新来的同学看样子是想用laravel打造thinksns的程序,但目前来说应该还算不上完美,程序里面既有使用mysql扩展的也有使用pdo的,大部分开始使用pdo了。

所以在这个阶段,往往他需要考虑兼容性问题,避免不了会出现各种bug。

忠实的ts粉,自然早已习惯了thinksns每次发版的各种老问题,或者新产生的问题,但是新手可能就没那个耐心了,这里建议玩thinksns的还是最好要有php或者其他编程经验,如果0经验,那么还是算了吧,因为它并不适合你。

说了那么多没用的废话接下来说说问题吧。

————-分割线——————————————————————————-

最常见的问题是安装不上,比如会直接给你返回一个404页面,这里我就不截图了,就是一个图片,有两只眼睛盯着你看的那个页面。

尝试解决方案:

修改/src/helper/Controller文件,应该是73的build方法,将里面if else 注释掉,重写代码如下:

protected function build($oldControllerName = false)
{
$className = null;
foreach (self::$controllerClass as $key => $value) {
//if (
// $key == ‘Ts-2016’ &&
// class_exists($className = sprintf($value, ucfirst($this->appName), ucfirst($this->controllerName)))
//) {
// $this->setAction(sprintf(‘%s%s’, $this->appAction, self::ACTION_SUFFIX));
// break;
//} elseif (
// $key == ‘Ts-2015’ &&
// class_exists($className = sprintf($value, $this->appName, ucfirst($this->controllerName)))
// ) {
// break;
// } elseif (
if($key == ‘Ts-old’ &&
class_exists($className = sprintf($value, ucfirst($this->controllerName)))
) {
break;
}
}

windows10 无法接收预览版

windows10自从发布以来一直开启预览版快速推送和慢速推送三个渠道,但是前几天重新安装完系统之后突然发现不能接收预览版本了。主要表现是,win10点击更新,高级里面,一直提示开始接收新版本,但是点击按钮之后提示重新启动,启动后仍然没有什么卵用,还是和以前一样提示开始接收,点击,重启,依然不起作用。于是开始询问度娘,然而毫无收获,最后还是求助于谷哥哥,看到了国外的一篇文章,给出了四个解决方案,直接解决了这个小问题。

原文地址:http://www.askvg.com/fix-windows-10-insider-preview-build-10240-not-appearing-on-windows-update/

我是用第二个方案解决的具体方案是:

打开并编辑注册表 win+r 输入regedit

定位到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsSelfHost\Applicability

然后在右侧编辑EnablePreviewBuilds选项将其值设置为1即可,无需重新启动!

其他三个解决方案简短介绍下

1、有些用户的更新-》高级里面可能会有一个修复我(fix me)按钮,点击尝试修复。

2、依然编辑注册表定位到:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\WindowsSelfhost\Applicability

删除如下选项:

  • ErrorState
  • LastHR
  • PilotInfoRing

程序猿的求爱方式

<html>
<head>
<title>Happy</title>
<meta http-equiv=”Content-Type” content=”textml; charset=UTF-8″>
</head>
<body style=”margin-left:350px”>
<canvas id=”c”></canvas>
<script>
var b = document.body;
var c = document.getElementsByTagName(‘canvas’)[0];
var a = c.getContext(‘2d’);
document.body.clientWidth;
</script>
<script>
with(m=Math)C=cos,S=sin,P=pow,R=random;c.width=c.height=f=600;h=-250;function p(a,b,c){if(c>60)return[S(a*7)*(13+5/(.2+P(b*4,4)))-S(b)*50,b*f+50,625+C(a*7)*(13+5/(.2+P(b*4,4)))+b*400,a*1-b/2,a];A=a*2-1;B=b*2-1;if(A*A+B*B<1){if(c>37){n=(j=c&1)?6:4;o=.5/(a+.01)+C(b*125)*3-a*300;w=b*h;return[o*C(n)+w*S(n)+j*610-390,o*S(n)-w*C(n)+550-j*350,1180+C(B+A)*99-j*300,.4-a*.1+P(1-B*B,-h*6)*.15-a*b*.4+C(a+b)/5+P(C((o*(a+1)+(B>0?w:-w))/25),30)*.1*(1-B*B),o/1e3+.7-o*w*3e-6]}if(c>32){c=c*1.16-.15;o=a*45-20;w=b*b*h;z=o*S(c)+w*C(c)+620;return[o*C(c)-w*S(c),28+C(B*.5)*99-b*b*b*60-z/2-h,z,(b*b*.3+P((1-(A*A)),7)*.15+.3)*b,b*.7]}o=A*(2-b)*(80-c*2);w=99-C(A)*120-C(b)*(-h-c*4.9)+C(P(1-b,7))*50+c*2;z=o*S(c)+w*C(c)+700;return[o*C(c)-w*S(c),B*99-C(P(b, 7))*50-c/3-z/1.35+450,z,(1-b/1.2)*.9+a*.1, P((1-b),20)/4+.05]}}setInterval(‘for(i=0;i<1e4;i++)if(s=p(R(),R(),i%46/.74)){z=s[2];x=~~(s[0]*f/z-h);y=~~(s[1]*f/z-h);if(!m[q=y*f+x]|m[q]>z)m[q]=z,a.fillStyle=”rgb(“+~(s[3]*h)+”,”+~(s[4]*h)+”,”+~(s[3]*s[3]*-80)+”)”,a.fillRect(x,y,1,1)}’,0)
</script>

</body>
</html>

laravel blade foreach continue and break 跳过或跳出循环

laravel blade foreach continue and break 跳过或跳出循环

例子:

如果用户id是1就跳过循环,这里我们forelse当没有数据的时候默认输出一些提示信息:


@forelse($data as $item)
    @if($item->id == 1)
        <?php continue;?>
    @endif
    <p>{{$item->name}}</p>
@empty
    <div>还没有用户请添加</div>
@endforelse

php导出csv小函数

protected function exportCsv($filename, $data){
   //定义文档类型为文本的csv
   header("Content-type:text/csv");
   //文档类型为附件,打开页面就直接下载对应附件,设置附件的名称为$filename
   header("Content-Disposition:attachment;filename=".$filename);
   //设置页面强制不缓存作用和no-cache差不多,但是更强制
   header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
   //过期时间为0
   header('Expires:0');
   header('Pragma:public');
   echo $data;
}

Csv文件实际上就是一个字符串,每一个单元格的内容用逗号分隔就可以了,所以制作一个csv首先要组装好字符串。

简单的使用方法:

定义一个数组,稍后我们导出内容到csv里面

$str = '姓名,市,区县'."\n";
$arr = ['北漂小兄弟','北京','朝阳'];
$str .= implode(',', $arr);

$fileName = date('Y-m-d'). '.csv';

//调用方法导出
exportCsv($fileName, $str);

如果是多维数组,用foreach遍历然后str .= 组装出来一个大的字符串就可以了!

 

laravel 5.0 Form 表单使用方法 【转】

Laravel – Form

5.0开始不再作为内嵌使用,请安装依赖库,具体看这里:

laravel5.0 Class ‘HTML’ not found

建立Form

{{ Form::open(['url' => 'foo']) }}
//...
{{ Form::close() }}

使用 open 及 close 來建立一個表單。參數是以陣列的方式設定,method 預設為 POST,如果要指定其他的方法,可自行增加:

{{ Form::open(['url' => 'foo', 'method' => 'put']) }}

你也可以不使用 url,改用 route:

{{ Form::open(['route' => 'route.name']) }}

route 帶參數:

{{ Form::open(['route' => ['route.name', $user->id] ]) }}

或是指定 Controller:

{{ Form::open(['action' => 'Controller@method']) }}

Controller 帶參數:

{{ Form::open(['action' => ['Controller@method', $user->id] ]) }}

Form Model Binding (模型綁定)

綁定資料模型,可以讓你在需要載入資料到表單欄位時更加方便。

在前面的微型部落格例子中,當我們在編輯文章時,可以改用 Model Binding 的方式來改寫:

原本的

{{ Form::open(['url'=>'post/'.$post->id, 'method'=>'put']) }}

改成

{{ Form::model($post, ['action'=>['HomeController@update', $post->id]]) }}

現在這個表單已經和 $post 所儲存的 Post 模型綁定,在之後的欄位,就不需要在指定值,只要欄位名稱和 Post 的屬性名稱相同即可。

原本的

{{ Form::text('title', $post->title) }}<br>

改為

{{ Form::text('title') }}<br>

這裡的 ‘title’ 和 Post 的屬性,也就是資料庫中的欄位同名。因此可以不用 $post->title 去指定值。

Label

標籤文字,通常放在輸入框的前面,用來說明輸入框內要填入什麼內容:

{{ Form::label('title', '標題') }}

如果要加入 HTML 屬性,可以這麼做:

{{ Form::label('title', '標題', ['class'=>'title']) }}

要用到 css 去指定樣式時,可以加入 class 屬性。後面其他的表單項目都可以這麼使用。

Input(Text, TextArea, Password, Hidden, Email, File)

文字輸入框:

{{ Form::text('title') }}
{{ Form::textarea('content') }}
{{ Form::password('password') }}

指定值:

{{ Form::text('title', '這是標題') }}
{{ Form::textarea('content', '這是內容') }}
{{ Form::hidden('id', '5') }}

密碼欄位會以點或星號顯示輸入的文字。

隱藏欄位通常會帶值。

text 可以利用 label 中說明的加入屬性 [‘size’=>30] 來改變輸入框的寬度。textarea 則是 [‘size’=>’50×50’]。

另外還有 email 及檔案:

{{ Form::email('email') }}
{{ Form::file('upload') }}

!重要,當你有使用到 file 欄位時,在 open 中必須加入 [‘files’ => true] 參數, 才能執行上傳的動作,例如:

{{Form::open(['url'=>'post', 'method'=>'post', 'files'=>true])}}

Checkboxes (多選) 及 Radio (單選)

多選

{{ Form::checkbox('habit', 'reading', true) }}看書<br>

habit 是欄位名稱,reading 是值,true 表示預設為勾選,可以省略不寫,表示不勾選。

單選

{{ Form::radio('city', 'taipei', true) }}Taipei<br>
{{ Form::radio('city', 'taichung') }}Taichung<br>
{{ Form::radio('city', 'kaohsiung') }}Kaohsiung<br>

city 是欄位名稱,同名的視為一組,同一組中只有一個可以被選取。taipei 等是值,true 表示選擇。

Drop-Down Lists (下拉式清單)

一般清單

{{ Form::select('size', ['L'=>'大','M'=>'中','S'=>'小'], 'M') }}

size 是欄位名稱;第二個參數是陣列,表示清單項目;第三個參數可省略,是前面陣列中的 Key,表示預設選取的項目。

群組清單

{{ Form::select('fruit', [
    'A' => ['apple' => 'Apple'],
    'B' => ['banana' => 'Banana'],
])}}

fruit 是欄位名稱;陣列是清單項目;A 是群組名稱,之後的陣列是屬於該群組的清單項目。

連續數字清單

{{ Form::selectRange('number', 10, 20) }}

number 是欄位名稱,10 是起始值,20 是結束值,這個清單會自動產生 10~20 的數字項目。

月份清單

{{ Form::selectMonth('month') }}

自動產生月份名的清單項目,不過是英文的。

Buttons (按鈕)

Submit

{{ Form::submit('發表文章') }}

Button

{{ Form::button('按鈕') }}

laravel5.0 Class ‘HTML’ not found

laravel5.0 Class ‘HTML’ not found

laravel 从5.0开始HTML类不再作为内嵌的使用了,需要在composer.json的require中添加

"illuminate/html": "5.*",

然后更新执行 composer update !

更新完毕后你需要在laravel中使用它,需要在config/app.config 中找到providers数组在里面添加如下一行

Illuminate\Html\HtmlServiceProvider::class,

在aliases数组中添加如下两行

'Html'      => Illuminate\Html\HtmlFacade::class,
'Form'      => Illuminate\Html\FormFacade::class,

这样就可以在视图中使用Html类了。

例如:{!!Html::style(‘/css/index.css’)!!}

从laravel5.0开始启用了新的语法{!!   !!},老的语法已经弃用!

 

php7 太空操作符比较更方便

php7 太空操作符,比较更方便

太空船操作符用于比较两个表达式。当$a大于、等于或小于$b时它分别返回-1、0或1。 比较的原则是沿用 PHP 的常规比较原则进行的。

 

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo “a” <=> “a”; // 0
echo “a” <=> “b”; // -1
echo “b” <=> “a”; // 1
?>

which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

问题:which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决:set global sql_mode= ”;

git 提交怎么忽略已经被追踪的文件

git 提交怎么忽略已经被追踪的文件

项目开发的过程中,经常会在项目内创建自己的文件,但是又不想提交到线上仓库,怎么办呢?

git update-index –assume-unchanged 文件

这样当你git status 在看的时候就没有那个文件了,如果你想恢复回来,也简单

git update-index –no-assume-changed 文件

 

这样就搞定了!

linux 安装php7教程

linux 安装php7教程

1、首先下载php7对应版本,解压到指定目录

2、安装gcc

yum install gcc

3、安装libxml2

yum install -y libxml2-devel

4、执行./configure   (也可以用–prefix=/usr/local/php) 指定安装目录!

5、然后执行 make

6、make install

7、安装完成之后,你可以执行./configure –enable-fpm  –with-curl  …

加载更多的扩展模块!