自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 收藏
  • 关注

原创 「七天自制PHP框架」第三天:PHP实现的设计模式

往期回顾:「七天自制PHP框架」第二天:模型与数据库,点击此处原文地址:http://www.cnblogs.com/sweng/p/6624845.html,欢迎关注:编程老头为什么要使用设计模式?设计模式,我的理解是为了达到“可复用”这个目标,而设计的一套相互协作的类。感兴趣的读者可以阅读《Design Patterns: Elements of Reusable

2017-06-17 11:24:29 244

原创 谈JavaScript的继承

最近在忙前端的工作,因为之前做.net和php的开发比较多,前端开发喜欢把库拿来就用,几次事实证明,不懂原理,连改代码也改不好,所以还是下定决心研究下JavaScript的几个技术难点。0x1.JavaScript的对象和构造函数定义一个JavaScript对象可以这么定义12345678910var a =

2017-06-17 11:23:53 471

原创 PHP解耦的三重境界(浅谈服务容器)

「七天自制PHP框架」已经开始连载,谢谢关注和支持!点击这里阅读本文之前你需要掌握:PHP语法,面向对象在完成整个软件项目开发的过程中,有时需要多人合作,有时也可以自己独立完成,不管是哪一种,随着代码量上升,写着写着就“失控”了,渐渐“丑陋接口,肮脏实现”,项目维护成本和难度上升,到了难以维持的程度,只有重构或者重新开发。第一重境界假设场景:我们需要写一个处理类

2017-06-17 11:18:55 1540

原创 Laravel的console使用方法

适用场景:分析数据(日志)1php artisan make:console 你的命令类名示例:1php artisan make:console Check在\app\Console\Commands目录下已生成一个Check.php文件12345678

2017-06-17 11:17:56 1093

原创 Laravel是怎么实现autoload的?

用了一阵Laravel后发现很少有include和require,觉得有点奇怪,思考Laravel是怎么完成文件导入的。其实Laravel依旧还是用include或者require的,只是都写在一个函数里了。就像这样:123function autoload($path){    require_once($path);}

2017-06-17 11:17:17 402

转载 解读Laravel,看PHP如何实现Facade?

刚刚开始学Laravel就会接触到路由123Route::get('/', function () {    return view('welcome');});后来笔者一本正经的去读过Route类的代码,惊讶的发现并没有get这个方法,之后了解到Laravel用了Facade模式。Facade本质上是一个“把

2017-06-17 11:16:47 355

原创 Angular控制器

function PhoneListCtrl($scope) {    $scope.phones = [{            "name" : "Nexus S",            "snippet" : "Fast just got faster with Nexus S."        }, {            "name" : "Motorola XO

2017-06-17 11:16:03 196

原创 Laravel的ORM入门

源码目录在\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Relations下关系:一对多(One To Many)场景:每篇博客都有若干条评论,每条评论只属于一篇博客先定义两个Model,这里为了突出主要矛盾,删除了Model中部分无关代码12345678

2017-06-17 11:15:38 393

原创 Laravel使用Seeder自动填充数据

要查看代码,可以点击或者转到链接:https://github.com/laravel/frameworkLaravel自动填充数据使用的是Seeder类123456789101112131415161718192021222324use Illumi

2017-06-17 11:15:00 1671

原创 Laravel中间件

先谈一谈中间件的使用场景,比如路由转到一张页面,我们需要记录用户的cookie,或者检测用户的访问权限,这些操作如果全写在控制器里是不合适的,因为随着业务的扩充,控制器里的业务逻辑会越来越臃肿,难以维护,所以,不同的操作,我们分别写在各自的中间件里。我们使用artisan命令行来创建一个中间件。1php artisan make:middleware MyMiddlewar

2017-06-17 11:14:33 304

原创 Laravel生命周期

/** * Register the core class aliases in the container. * * @return void */public function registerCoreContainerAliases(){    $aliases = [        'app'                  => [\Illuminate

2017-06-17 11:14:04 391

原创 Laravel路由

Laravel安装,这里使用一键安装包。使用PHP内置的Web服务器,在PHP文件夹下运行命令行1php -S 0.0.0.0:1024 一.设置路由路由文件在app\HTTP\routes.php,在代码中增加123Route::get('/hi', function () {

2017-06-17 11:13:33 329

原创 Laravel路由和控制器的绑定

路由和控制器的关系路由文件地址在\app\Http\routes.php,我们来看两种不同的路由。12345678Route::get('/', function () {    return view('welcome');});Route::get('/hi', function () {    retur

2017-06-17 11:13:02 2451

原创 Laravel控制器和视图

@extends('layouts.app')@section('content')div class="container">    div class="row">        div class="col-md-10 col-md-offset-1">            div class="panel panel-default">              

2017-06-17 11:12:35 476

原创 Laravel Migrate

artisan命令行创建migrate格式:1php artisan make:migration YourFileName示例:1php artisan make:migration create_books_table我们找到laravel目录下database\migrations\201

2017-06-17 11:12:07 296

原创 Laravel事件Event

适用场景:记录文章浏览量1php artisan make:event 事件名示例:1php artisan make:event MyEventLaravel目录\app\Events已经生成MyEvent.php文件12345678910

2017-06-17 11:11:44 1988

原创 Laravel分页

Laravel使用的过程中,有些功能把前端页面的表达“写死了”,比如分页的翻页按钮!当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满足的客户的需要,特别在开发一款支持手机适配的Web APP,更是需要使用自定义的样式。所以,学习一样东西不能一知半解,而是究其原理。先来看看Laravel是怎么分页的,生成分页按钮的代码究竟写在了哪

2017-06-17 11:08:23 459

原创 理解数据集

数据集通常是长方形数据矩阵,行代表一个观察值,列代表一个变量,下表提供了一个假想的病人数据集不同的规则有不同的数据集行列名称。数据统计把它们成为一个观察值和变量,数据库分析员把它们成为一条记录和域,数据挖掘和机器学习把它们成为一个样例和属性。我们将会在本书中用一个观察值和变量这个术语。你可以分清数据结构(本例中的长方形数组)和包含数据类型的数据内容。在上表所示的数据集中,P

2017-06-17 11:07:48 403

原创 PHP控制反转(IOC)和依赖注入(DI)

「七天自制PHP框架」已经开始连载,谢谢关注和支持!点击这里先看一个例子:123456789101112131415161718192021222324252627282930313233343536373839

2017-06-17 11:07:01 325

原创 DataSet、DataTable和DataGridView知识备忘

datatable中,获取第i行j列的单元格内容:             string str = DataSet.Tables[0].Rows[i][j].ToString();datagridview中,获取第i行j列的单元格内容:             string str =  DataGridview.Rows[i].Cells[j].Value.ToString();

2017-06-15 14:03:56 206

原创 Windows 窗体启动和关闭的事件顺序

本文系转载学习。对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要。当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运行时的确切引发顺序。本文提供了一些有关在应用程序和控件的生命周期中的几个重要阶段中的事件顺序的详细信息。对于验证这些事件的激发顺序有一个很简单的方法,就是创建这些事件的处理函数,即使

2017-06-15 13:58:38 345

原创 VB操作Excel

在工程中添加引用:Microsoft Office 9.0 Object Library                    Microsoft Excel 9.0 Object Library      (Excel 2000)                   新建一个ExcelDim xlApp As Excel.ApplicationDim book As Ex

2017-06-15 13:58:04 267

原创 VB二进制文件读写

数组存取 存数组Private Sub Command2_Click()Dim fileNumber As IntegerDim S9 As StringDim k As IntegerDim l As Integer On Error Resume NextfileNumber = FreeFile()S9 = "D:\zs.txt"If Dir(

2017-06-15 13:57:18 3830

原创 VB操作CAD

Dim xlapp As Excel.Application            Dim xlbook As Excel.Workbook            Dim sheet As Excel.Worksheet            Dim Range As Excel.Range        Dim zwcadapp As ZwcadApplication  

2017-06-15 13:56:48 3685

原创 学习和理解C#的委托

去年自学C#用的教程是入门级的《学通C#的24堂课》,教材里面也没有提到委托和事件,工作中也没怎么用到。后来一次在网上看了一些大牛的博客,读完之后感觉懵懵懂懂,似懂非懂,过了两三天之后,却又全然忘记了。毕竟学习这事,温故而知新,学了不用,自然忘得也很快。对于如我一样的初学者来说,较好地理解委托和事件并是一件容易的事。其实掌握了的人,会觉得也没什么,而没有掌握的人,每次见到委托和事件就会觉得很畏惧。

2017-06-15 13:42:22 232

原创 学习和理解C#中的事件

注:本文系学习笔记。  上一篇文章记录了我对C#中委托的理解。委托实际上是一种类型。可以将一个或多个方法绑定到委托上面,调用委托时,一次执行委托上面绑定的方法。本文要讲述的事件实际上和委托有很深的“感情”。还是以上课的例子开始吧,假设距离上课时间前30分钟去教室上课。在距离上课前5分钟,会发生下面两件事:预备上课铃响,电子屏幕上显示上课时间。我们以下面的代码来表示模拟这个过程。

2017-06-15 13:41:56 521

原创 虚方法(virtual)和抽象方法(abstract)的区别

注:本文转载自 http://www.cnblogs.com/michaelxu/archive/2008/04/01/1132633.html 虚方法和抽象方法都可以供派生类重写,它们之间有什么区别呢?1. 虚方法必须有实现部分,抽象方法没有提供实现部分,抽象方法是一种强制派生类覆盖的方法,否则派生类将不能被实例化。如://抽象方法public abstrac

2017-06-15 13:41:26 234

原创 css3中强大的filter(滤镜)属性

CSS3中强大的filter(滤镜)属性     博主最近在做网站的过程中发现了一个非常强大的CSS3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧。当然,这个属性的效果肯定不能跟ps相比,但是利用的好的话可以在节约很多空间下,把一张图做成两张图的效果。      1定义       filter,从字面意思来看就是滤镜,

2017-06-15 13:40:45 392

原创 【源码分享】jquery+css实现侧边导航栏

1 style> 2 3 /*重置一些样式*/ 4 *, *::after, *::before { 5 box-sizing: border-box; 6 /*padding: 0;*/ 7 margin: 0; 8 font-si

2017-06-15 13:40:12 1579

原创 HTML5和CSS3实现3D转换效果 CSS3的3D效果

上次,我们一起研究了css3的2d模块,这次我们一起来看一下css3的3d模块。  首先,我们来了解一下3d的坐标系,x轴在屏幕上为水平方向,y轴为垂直方向,而z轴为垂直于屏幕的方向。  不理解的话可以参考定位属性的z-index属性,那个在某种意义上就是让元素在z轴的移动。  在2d转换模块中我们研究了rotateX()和rotateY()方法,就是绕x轴和y轴旋转,这其

2017-06-15 13:39:38 805

原创 JavaScript中return的用法详解

JavaScript中return的用法详解     最近,跟身边学前端的朋友了解,有很多人对函数中的return的用法和意思理解的比较模糊,这里写一篇博客跟大家一起探讨一下return的用法。      1定义       return,从字面意思来看就是返回,官方定义return语句将终止当前函数并返回当前函数的值;可以看下下面的示例代码:

2017-06-15 13:39:07 1756

转载 js算法集合(一) 水仙花数 及拓展(自幂数的判断)

1、验证一个数是否为水仙花数    ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153);    ②了解了什么是水仙花数我们就开始分析该怎么下手。通过定义来看我们首先要把每一位数都取出来,然后通过验证等式是否成立来找出水仙花数;    ③那么怎么去取到一个三

2017-06-15 13:38:40 2043

原创 JavaScript中this的用法详解

2使用this的意义    那为什么这里使用 this 而不是直接使用odiv呢?因为在实例化对象时,总是不能确定开发者会使用什么样的变量名。使用 this,即可在任何多个地方重用同一个函数。看不懂定义的话我们来看下面的栗子: 1 2 3 4 5 Title 6 7 8 9 function showna

2017-06-15 13:38:09 234

原创 css清除浮动

上次我们一起研究了css浮动,这次我们一起学习一下浮动对排版造成的影响,以及清除浮动影响的方式。  首先,我们来看一下浮动对合资高度的影响:  在标准流中内容的高度可以撑起盒子的高度:    示例代码:  div{background-color: red;}p{width: 200px;height: 100px;background-color:

2017-06-15 13:37:41 159

原创 css定位流布局

DOCTYPE html>html lang="en">head> meta charset="UTF-8"> title>74-固定定位title> style> *{ margin: 0; padding: 0; } p{ width: 100px

2017-06-15 13:37:19 189

原创 css过渡模块和2d转换模块

今天,我们一起来研究一下css3中的过渡模块、2d转换模块和3d转换模块  一、过渡模块transition  (一)过度模块的三要素:    1、必须要有属性发生变化    2、必须告诉系统哪个属性需要执行过渡效果    3、必须告诉系统过渡效果持续时长    ps:当多个属性需要同时执行过渡效果时用逗号隔开即可      transiti

2017-06-15 13:36:51 356

原创 进入html+css世界的正确姿势

今天,我带大家一起走进html+css的世界。  HTML其实是HyperText Markup Language的缩写, 超文本标记语言。他是用于告诉浏览器这是一个网页, 也就是说告诉浏览器我是一个HTML文档。下面是HTML文档最基本的格式:            Title         是html文档的dtd文档声明,用来告诉浏览器这是用html5编

2017-06-15 13:36:20 621

原创 css盒子模型

今天,我们大家一起研究一下css盒子模型。  css盒子模型是把html标签比喻成一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。ps:CSS盒模型指那些可以设置宽度高度/内边距/边框/外边距的标签。  下面是和模型的一个Model:示例代码:<!DOCTYPE html>

2017-06-15 13:35:55 255

原创 css浮动布局

上次我们一起对盒子模型进行了一定的了解,今天我们就对css浮动布局做一下研究。首先我们来了解一下网页基本布局的三种形式。  首先我们来了解一下什么是网页布局:网页的布局方式其实就是指浏览器是如何对网页中的元素进行排版的  网页基本布局主要有三种形式:一是标准流,而是浮动流,三是定位流。标准流(文档流/普通流)排版方式其实浏览器默认的排版方式就是标准流

2017-06-15 13:35:25 196

原创 快速入门系列--MVC--07与HTML5移动开发的结合

现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了系统的可维护性和可扩展性。于此同时,HTML5提供了很多的新特性,比如新的架构元素、代替cookie的Web存储技术、WebSocket等,也使得网站应用能够更好适应新的商业环境和技术更新。 

2017-06-14 14:48:42 702

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除