GVKun编程网logo

在laravel项目中根据IP获取省市名称(laravel获取客户端ip)

14

在这篇文章中,我们将为您详细介绍在laravel项目中根据IP获取省市名称的内容,并且讨论关于laravel获取客户端ip的相关问题。此外,我们还会涉及一些关于ASP.NET实现根据IP获取省市地址的

在这篇文章中,我们将为您详细介绍在laravel项目中根据IP获取省市名称的内容,并且讨论关于laravel获取客户端ip的相关问题。此外,我们还会涉及一些关于ASP.NET实现根据IP获取省市地址的方法、Chart.js在Laravel项目中的应用示例、java 根据 ip 地址获取省市、Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade的知识,以帮助您更全面地了解这个主题。

本文目录一览:

在laravel项目中根据IP获取省市名称(laravel获取客户端ip)

在laravel项目中根据IP获取省市名称(laravel获取客户端ip)

下面由Laravel框架教程栏目给大家介绍根据IP获取省市名称的方法,希望对需要的朋友有所帮助!

根据 ip 获取地理定位,曾尝试了 laraveltorann/geoip 包,不是很准确。还有 百度 API 调用获取地理信息的方法,为了减少维护成本,最终用了thinkPHP3.2 中的一个包,是否是tp框架自带的不很清楚。这个包获取定位的原理是内置了省市数据库 UTFWry.dat

根据 IP 获取省市名称

laravel 项目如何使用

我放在了项目 app 同级目录 sdk 下。为了能够使用,composer.json 中需将 IpLocation.class.PHP 添加到 classmap 自动加载中,以便该文件中包含的类能够在被调用时被自动加载(如果不太明白为何能自动加载,参考 Laravel Composer 自动加载原理)。

autoload: {
    classmap: [
        database/seeds,
        database/factories,
        sdk/Org/Net/IpLocation.class.PHP
    ]},

添加后执行 composer dump-autoload

基本使用

$ip = new \Org\Net\IpLocation('UTFWry.dat');
$location = $ip->getlocation('223.104.1.100');
dd($location);

1. 标准返回值
我们拿 广东深圳 的 ip 做示例

# 打印结果
array:5 [
ip => 223.104.1.100
beginip => 223.104.1.0
endip => 223.104.1.255
country => 广东省深圳市
area => 移动]

2. 个别地区返回值有所不同,左侧为示范ip,右侧为返回地区名称

# 直辖市
'223.104.3.155',//北京市 
'223.104.7.155',//天津市 
'223.104.25.155',//重庆市 
'223.104.5.200',//上海市徐汇区 
# 自治区
'223.104.15.100',//内蒙古呼和浩特市 
'223.104.29.100',//宁夏银川市 
'223.104.30.100',//新疆乌鲁木齐市 
'211.139.74.100',//西藏拉萨市 
'218.204.63.100',//广西百色市 

'1.32.192.100',//香港 
'60.246.49.100',//澳门

封装一个返回地区id的方法函数

经常使用的话,一般喜欢放在 app\Helpers.PHP 中,

<?PHP

function get_ip_location($ip){
    $ip_driver = new \Org\Net\IpLocation('UTFWry.dat');
    $location = $ip_driver->getlocation($ip);
    $location = $location['country']; //广东省深圳市

    // 如果没有查询到的默认返回值
    $default = ['p_id'=>1,'c_id'=>0,'locname'=>'北京'];

    // 如果有市 那么市后边的字符删除 只保留到市
    $city_strpos = mb_strpos($location, '市');
    if($city_strpos){
        $location = mb_substr($location, 0, $city_strpos + 1);
    }

    // 如果是直辖市,若匹配到直接返回,不继续匹配 “区”
    $spacial = ['北京','上海','天津','重庆'];//北京市/天津市/重庆市/上海市徐汇区
    foreach ($spacial as $bj) {
        if( strpos($location, $bj) !== false ){
            $province_name = $bj;
            $province_id = DB::table('loc_province')->where('name',$province_name)->value('province_id');
            return ['p_id'=>$province_id,'c_id'=>0,'locname'=>$bj.'市'];
        }
    }

    // 其他标准查询
    $expect_ids = [36,37,38,39,69]; //排除北京、、以及想要排除的地区
    $province_name = $city_name = ''; //初始化
    $province_id = $city_id = 0;
    // 所有省数据
    $all_province = DB::table('loc_province')->wherenotin('id', $expect_ids)->get();
    foreach ($all_province as $prov) {
        $name = $prov->name;
        $prov_pos = mb_strpos($location, $name);
        // 如果匹配到目标
        if( $prov_pos !== false ){
            $province_id = $prov->province_id;
            $province_name = $name;
            // 从字符串中去除省名称,并把省字去掉
            $location = mb_substr($location, $prov_pos + mb_strlen($name));
            $location = str_replace('省','',$location);
            // 如果有“市”,那么就提取出市的名称
            if($location && mb_strpos($location, '市')){
                $city_name = rtrim($location, '市');
            }
            if($city_name){
                $city_id = DB::table('loc_city')->where('name',$city_name)->value('cid');
            }else{
                $city_id = 1; // 默认省会
            }

            break;
        }
    }

    if($province_name){
        return  ['p_id'=>$province_id,'c_id'=>$city_id,'locname'=>$province_name.$city_name];
    }else{
        return $default;
    }
}

测试

$testips = [
    '223.104.3.155',//北京市 
    '223.104.7.155',//天津市 
    '223.104.25.155',//重庆市 
    '223.104.5.200',//上海市徐汇区 

    '223.104.15.100',//内蒙古呼和浩特市 
    '223.104.29.100',//宁夏银川市 
    '223.104.30.100',//新疆乌鲁木齐市 
    '211.139.74.100',//西藏拉萨市 
    '218.204.63.100',//广西百色市 

    '1.32.192.100',//香港 
    '60.246.49.100',//澳门

    '223.104.1.100', //广东省深圳市
];
echo <pre>;
foreach ($testips as $ip) {
    print_r(get_ip_location($ip));
}

检查结果

Array
(
    [p_id] => 1
    [c_id] => 0
    [locname] => 北京市
)
Array
(
    [p_id] => 3
    [c_id] => 0
    [locname] => 天津市
)
Array
(
    [p_id] => 4
    [c_id] => 0
    [locname] => 重庆市
)
Array
(
    [p_id] => 2
    [c_id] => 0
    [locname] => 上海市
)
Array
(
    [p_id] => 7
    [c_id] => 1
    [locname] => 内蒙古呼和浩特
)
Array
(
    [p_id] => 29
    [c_id] => 1
    [locname] => 宁夏银川
)
Array
(
    [p_id] => 31
    [c_id] => 1
    [locname] => 新疆乌鲁木齐
)
Array
(
    [p_id] => 26
    [c_id] => 1
    [locname] => 西藏拉萨
)
Array
(
    [p_id] => 21
    [c_id] => 13
    [locname] => 广西百色
)
Array
(
    [p_id] => 32
    [c_id] => 1
    [locname] => 香港
)
Array
(
    [p_id] => 33
    [c_id] => 1
    [locname] => 澳门
)
Array
(
    [p_id] => 20
    [c_id] => 2
    [locname] => 广东深圳
)
原文地址:https://learnku.com/articles/52456

ASP.NET实现根据IP获取省市地址的方法

ASP.NET实现根据IP获取省市地址的方法

本文实例讲述了ASP.NET实现根据IP获取省市地址的方法,分享给大家供大家参考。具体实现方法如下:

1、在网站的跟路径下面添加QQWry.dat(点击此处本站下载https://www.jb51.net/softs/10529.html)文件,这个文件是IP数据库文件

2、添加以下一个类 IPScanner

复制代码 代码如下:
public class IPScanner
{
        //私有成员#region 私有成员
        private string dataPath;
        private string ip;
        private string country;
        private string local;

        private long firstStartIp = 0;
        private long lastStartIp = 0;
        private FileStream objfs = null;
        private long startIp = 0;
        private long endIp = 0;
        private int countryFlag = 0;
        private long endIpOff = 0;
        private string errMsg = null;


        //构造函数#region 构造函数
        public IPScanner()
        {
            this.dataPath = System.Web.HttpContext.Current.Server.MapPath("/ipdata/QQWry.dat");
        }

        //公共属性#region 公共属性
        public string DataPath
        {
            set { dataPath = value; }
        }
        public string IP
        {
            set { ip = value; }
        }
        public string Country
        {
            get { return country; }
        }
        public string Local
        {
            get { return local; }
        }
        public string ErrMsg
        {
            get { return errMsg; }
        }

        //搜索匹配数据#region 搜索匹配数据
        private int QQwry()
        {
            string pattern = @"(((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))\\.){3}((\\d{1,2})|(1\\d{2})|(2[0-4]\\d)|(25[0-5]))";
            Regex objRe = new Regex(pattern);
            Match objMa = objRe.Match(ip);
            if (!objMa.Success)
            {
                this.errMsg = "IP格式错误";
                return 4;
            }

            long ip_Int = this.IpToInt(ip);
            int nRet = 0;
            if (ip_Int >= IpToInt("127.0.0.0") && ip_Int <= IpToInt("127.255.255.255"))
            {
                this.country = "本机内部环回地址";
                this.local = "";
                nRet = 1;
            }
            else if ((ip_Int >= IpToInt("0.0.0.0") && ip_Int <= IpToInt("2.255.255.255")) || (ip_Int >= IpToInt("64.0.0.0") && ip_Int <= IpToInt("126.255.255.255")) || (ip_Int >= IpToInt("58.0.0.0") && ip_Int <= IpToInt("60.255.255.255")))
            {
                this.country = "网络保留地址";
                this.local = "";
                nRet = 1;
            }
            objfs = new FileStream(this.dataPath, FileMode.Open, FileAccess.Read);
            try
            {
                objfs.Position = 0;
                byte[] buff = new Byte[8];
                objfs.Read(buff, 0, 8);
                firstStartIp = buff[0] + buff[1] * 256 + buff[2] * 256 * 256 + buff[3] * 256 * 256 * 256;
                lastStartIp = buff[4] * 1 + buff[5] * 256 + buff[6] * 256 * 256 + buff[7] * 256 * 256 * 256;
                long recordCount = Convert.ToInt64((lastStartIp - firstStartIp) / 7.0);
                if (recordCount <= 1)
                {
                    country = "FileDataError";
                    objfs.Close();
                    return 2;
                }
                long rangE = recordCount;
                long rangB = 0;
                long recNO = 0;
                while (rangB < rangE - 1)
                {
                    recNO = (rangE + rangB) /2;
                    this.GetStartIp(recNO);
                    if (ip_Int ==this.startIp)
                    {
                        rangB = recNO;
                        break;
                    }if (ip_Int >this.startIp)
                        rangB = recNO;
                    else
                        rangE = recNO;
                }this.GetStartIp(rangB);
                this.GetEndIp();
                if (this.startIp <= ip_Int &&this.endIp >= ip_Int)
                {
                    this.GetCountry();
                    this.local =this.local.Replace("(我们一定要解放台湾!!!)", "");
                }else{
                    nRet =3;
                    this.country ="未知";
                    this.local ="";
                }
                objfs.Close();
                return nRet;
            }catch{
                return1;
            }
        }// IP地址转换成Int数据#region IP地址转换成Int数据 privatelong IpToInt(string ip)
        {
            char[] dot =newchar[] { ''.'' };
            string[] ipArr = ip.Split(dot);
            if (ipArr.Length ==3)
                ip = ip +".0";
            ipArr = ip.Split(dot);

            long ip_Int =0;
            long p1 =long.Parse(ipArr[0]) *256*256*256;
            long p2 =long.Parse(ipArr[1]) *256*256;
            long p3 =long.Parse(ipArr[2]) *256;
            long p4 =long.Parse(ipArr[3]);
            ip_Int = p1 + p2 + p3 + p4;
            return ip_Int;
        }//获取起始IP范围#region 获取起始IP范围 privatelong GetStartIp(long recNO)
        {
            long offSet = firstStartIp + recNO *7;
            //objfs.Seek(offSet,SeekOrigin.Begin);             objfs.Position = offSet;
            byte[] buff =new Byte[7];
            objfs.Read(buff, 0, 7);

            endIpOff = Convert.ToInt64(buff[4].ToString()) + Convert.ToInt64(buff[5].ToString()) *256+ Convert.ToInt64(buff[6].ToString()) *256*256;
            startIp = Convert.ToInt64(buff[0].ToString()) + Convert.ToInt64(buff[1].ToString()) *256+ Convert.ToInt64(buff[2].ToString()) *256*256+ Convert.ToInt64(buff[3].ToString()) *256*256*256;
            return startIp;
        }// 获取结束IP#region 获取结束IP privatelong GetEndIp()
        {
            //objfs.Seek(endIpOff,SeekOrigin.Begin);             objfs.Position = endIpOff;
            byte[] buff =new Byte[5];
            objfs.Read(buff, 0, 5);
            this.endIp = Convert.ToInt64(buff[0].ToString()) + Convert.ToInt64(buff[1].ToString()) *256+ Convert.ToInt64(buff[2].ToString()) *256*256+ Convert.ToInt64(buff[3].ToString()) *256*256*256;
            this.countryFlag = buff[4];
            returnthis.endIp;
        }//获取国家/区域偏移量#region 获取国家/区域偏移量 privatestring GetCountry()
        {
            switch (this.countryFlag)
            {
                case1:
                case2:
                    this.country = GetFlagStr(this.endIpOff +4);
                    this.local = (1==this.countryFlag) ?"" : this.GetFlagStr(this.endIpOff +8);
                    break;
                default:
                    this.country =this.GetFlagStr(this.endIpOff +4);
                    this.local =this.GetFlagStr(objfs.Position);
                    break;
            }return"";
        }//获取国家/区域字符串#region 获取国家/区域字符串 privatestring GetFlagStr(long offSet)
        {
            int flag =0;
            byte[] buff =new Byte[3];
            while (1==1)
            {
                objfs.Position = offSet;
                flag = objfs.ReadByte();
                if (flag ==1|| flag ==2)
                {
                    objfs.Read(buff, 0, 3);
                    if (flag ==2)
                    {
                        this.countryFlag =2;
                        this.endIpOff = offSet -4;
                    }
                    offSet = Convert.ToInt64(buff[0].ToString()) + Convert.ToInt64(buff[1].ToString()) *256+ Convert.ToInt64(buff[2].ToString()) *256*256;
                }else{
                    break;
                }
            }if (offSet <12)
                return"";
            objfs.Position = offSet;
            return GetStr();
        }//GetStr#region GetStr privatestring GetStr()
        {
            byte lowC =0;
            byte upC =0;
            string str ="";
            byte[] buff =newbyte[2];
            while (1==1)
            {
                lowC = (Byte)objfs.ReadByte();
                if (lowC ==0)
                    break;
                if (lowC >127)
                {
                    upC = (byte)objfs.ReadByte();
                    buff[0] = lowC;
                    buff[1] = upC;
                    System.Text.Encoding enc = System.Text.Encoding.GetEncoding("GB2312");
                    str += enc.GetString(buff);
                }else{
                    str += (char)lowC;
                }
            }return str;
        }publicstring IPLocation(string ip)
        {
            this.ip = ip;
            this.QQwry();
            if (this.country.Trim().Contains(this.local.Trim()))
                returnthis.country.Trim();
            returnthis.country.Trim() +this.local.Trim();
        }
}

3、ASP.NET根据IP获取省市地址的调用

复制代码 代码如下:
string ip="123.81.176.99";
IPScanner ipscaner = new IPScanner();
ipscaner.IPLocation(ip); 
string strIPAddress=ipscaner.Country;

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:
  • Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
  • ASP.NET获取真正的客户端IP地址的6种方法
  • asp.net获取真实ip的方法
  • asp.net获取URL和IP地址的方法汇总
  • asp.net(vb.net)获取真实IP的函数
  • asp.net Javascript获取CheckBoxList的value
  • asp.net 获取IP的相关资料
  • JavaScript asp.net 获取当前超链接中的文本
  • ASP.NET 获取客户端IP方法

Chart.js在Laravel项目中的应用示例

Chart.js在Laravel项目中的应用示例

介绍

Chart.js是一个HTML5图表库,使用canvas元素来展示各式各样的客户端图表,支持折线图、柱形图、雷达图、饼图、环形图等, 本文将介绍如何在laravel项目中使用chart.js

安装

可以通过以下命令在 npm 或 bower 中来安装chart.js。

npm install chart.js --save
bower install chart.js --save

可以在你的项目中使用 CDN link。

https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.min.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.js
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js

可以从GitHub里面下载最新版本的 Chart.js 从github下载的话,里面也有很多例子可以学习。

我这边选择的是下载了几个js文件,然后放置于Laravel项目的public/js目录下面,如下图:

使用

在html中任何你希望的位置加入以下代码, 这个canvas就是图表的位置。:

<canvas id="my_chart" width="300" height="300"></canvas>

然后在controller中实现一个数据查询的方法,且要返回一个json字符串, 具体的数据根据你的需求而定,这边我只查了一组数据,制作一个饼图,也可以要多组数据制作折线图,柱状图等。

  public function GetChartData(){
    $my_data = array();
    array_push($today_data, VisitCapacity::where(''my_data'',''>='', Carbon::today())->where(''site'',1)->count());
    array_push($today_data, VisitCapacity::where(''my_data'',''>='', Carbon::today())->where(''site'',2)->count());
    array_push($today_data, VisitCapacity::where(''my_data'',''>='', Carbon::today())->where(''site'',3)->count());
    array_push($today_data, VisitCapacity::where(''my_data'',''>='', Carbon::today())->where(''site'',4)->count());
    Log::info(json_encode($my_data));
    return $my_data;
  }

添加路由:

 Route::get(''get_chart_data'', ''Member\UserController@GetChartData'');

js实现:

$.get(''get_chart_data'',function (data, status) {
var ctx = document.getElementById("my_chart").getContext("2d");
      var my_chart = new Chart(ctx,{
        type: ''pie'',
        data: {
          labels: [
            "首页文章列表",
            "分类文章列表",
            "文章详情",
            "关于我",
          ],
          datasets: [{
            data: data,
            backgroundColor: [
              window.chartColors.red,
              window.chartColors.orange,
              window.chartColors.purple,
              window.chartColors.green,
            ],
          }]
        },
        options: {
          responsive: true,
        }
      });
});

颜色的定义:

window.chartColors = {
  red: ''rgb(255, 99, 132)'',
  orange: ''rgb(255, 159, 64)'',
  yellow: ''rgb(255, 205, 86)'',
  green: ''rgb(75, 192, 192)'',
  blue: ''rgb(54, 162, 235)'',
  purple: ''rgb(153, 102, 255)'',
  grey: ''rgb(201, 203, 207)''
};

结果如下图:

将js中的type的值pie改成doughnut,结果如下图:

更多的使用见官方文档:http://chartjs.cn/docs/#line-chart-introduction

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • 使用Chart.js图表库制作漂亮的响应式表单
  • Chart.js 轻量级HTML5图表绘制工具库(知识整理)
  • 详解Chart.js轻量级图表库的使用经验
  • 在 Angular 中使用Chart.js 和 ng2-charts的示例代码
  • 使用Vue.js 和Chart.js制作绚丽多彩的图表
  • ichart.js绘制虚线、平均分虚线效果的实现代码
  • vue集成chart.js的实现方法
  • 利用ECharts.js画K线图的方法示例
  • JavaScript Chart 插件整理
  • 详解vue文件中使用echarts.js的两种方式
  • vue.js+Echarts开发图表放大缩小功能实例
  • Chart.js功能与使用方法小结

java 根据 ip 地址获取省市

java 根据 ip 地址获取省市

这里使用的是淘宝的接口

public class AddressUtil{

/**
*
* @param content
* 请求的参数 格式为:name=xxx&pwd=xxx
* @param encodingString
* 服务器端请求编码。如 GBK,UTF-8 等
* @return
* @throws UnsupportedEncodingException
*/
public static String getAddresses(String content, String encodingString){
// 调用淘宝 API
String urlStr = "http://ip.taobao.com/service/getIpInfo.php";

String returnStr = getResult(urlStr, content,encodingString);
if(returnStr != null){
System.out.println(returnStr);
return returnStr;
}
return null;
}
/**
* @param urlStr
* 请求的地址
* @param content
* 请求的参数 格式为:name=xxx&pwd=xxx
* @param encodingString
* 服务器端请求编码。如 GBK,UTF-8 等
* @return
*/
private static String getResult(String urlStr, String content, String encodingString) {
URL url = null;
HttpURLConnection connection = null;
try {
url = new URL(urlStr);
// 新建连接实例
connection = (HttpURLConnection) url.openConnection();
// 设置连接超时时间,单位毫秒
//connection.setConnectTimeout(20000);
// 设置读取数据超时时间,单位毫秒
//connection.setReadTimeout(20000);
// 是否打开输出流
connection.setDoOutput(true);
// 是否打开输入流
connection.setDoInput(true);
// 提交方法 POST|GET
connection.setRequestMethod("POST");
// 是否缓存
connection.setUseCaches(false);
// 打开连接端口
connection.connect();
// 打开输出流往对端服务器写数据
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
// 写数据,即提交表单 name=xxx&pwd=xxx
out.writeBytes(content);
// 刷新
out.flush();
// 关闭输出流
out.close();
// 往对端写完数据对端服务器返回数据,以 BufferedReader 流来读取
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), encodingString));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null){
buffer.append(line);
}
reader.close();
return buffer.toString();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(connection != null){
connection.disconnect();
}
}
return null;
}

public static Map<String, String> getAddressByIp(String ip){
// 参数 ip
// String ip = "27.40.147.229";
//json_result 用于接收返回的 json 数据
String json_result = null;
Map<String, String> map=new HashMap<String, String>();
try {
json_result =getAddresses("ip=" + ip, "utf-8");
} catch (Exception e) {
e.printStackTrace();
}

JSONObject json = JSONObject.fromObject(json_result);
System.out.println ("json 数据:" + json);
String country = JSONObject.fromObject(json.get("data")).get("country").toString();
String region = JSONObject.fromObject(json.get("data")).get("region").toString();
String city = JSONObject.fromObject(json.get("data")).get("city").toString();
String county = JSONObject.fromObject(json.get("data")).get("county").toString();
String isp = JSONObject.fromObject(json.get("data")).get("isp").toString();
String area = JSONObject.fromObject(json.get("data")).get("area").toString();
System.out.println ("国家:" + country);
System.out.println ("地区:" + area);
System.out.println ("省份:" + region);
System.out.println ("城市:" + city);
System.out.println ("区 / 县:" + county);
System.out.println ("互联网服务提供商:" + isp);
map.put ("country", country);// 国家
map.put ("area", area);// 区域
map.put ("region", region);// 省
map.put ("city", city);// 市
map.put ("county", county);// 区
map.put ("isp", isp);// 互联网服务提供商
return map;
}

 


}

 

注:以上代码转自 https://www.cnblogs.com/xym4869/p/8995504.html (不是本人原创)

Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade

Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade

Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade

创建laravel项目

composer create-project laravel/laravel learnlv 4.1.* 查看帮助:composer create-project    使用artisan工具 生成key:php artisan key:genrate,更多命令见:http://blog.luoyunshu.com/laravel-cheatsheet  

路由

route.php: php   /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It''s a breeze. Simply tell Laravel the URIs it should respond to | and give it the Closure to execute when that URI is requested. | */   //向控制器传递参数,Route::get(''/{id}'') //两种格式:1、Route::get(''/'', function(){}) // 2、Route::get(''/'', array(''as''=>''home_route'',function(){})) as的定义路由名称 Route::get(''/'', array(''as''=>''home_route'', function() { //向视图传递参数 //方法一: //$var = ''hello world''; //return View::make(''hello'')->with(''var'', $var);   //方法二 //$var = ''abcd''; //return View::make(''hello'', array(''var''=>$var));   //方法三 $var = ''def''; $view = View::make(''index.hello''); $view->var = $var; return $view; }));   //定义控制器 Route::get(''index'', function() { $arr = array( ''yunshu'', ''云舒'' ); return View::make(''index.index'', array(''arr''=>$arr)); });   //生成路由URL与跳转 Route::get(''test'', function() { //生成URL $url = URL::route(''home_route''); //echo $url;   //跳转 return Redirect::route(''home_route''); });

blade布局

(master.blade.php): @include(''layout.header'')
@yield(''content'') div> div>  
@section(''section'') 哈哈 @show div> div> {{-- 注释代码--}} @include(''layout.footer'') index.blade.php: @extends(''layout.master'') {{-- 使用master模板 --}}   {{-- 使用这部分内容填充模板 --}} @section(''content'') @foreach($arr as $a) {{ $a }} @endforeach   {{-- 创建图片 --}} {{ HTML::image(''image/1.jpg'') }} @stop   {{-- 覆盖或者重写父模板内容 --}} @section(''section'') {{-- 拿到父模板的内容使用@parent --}} @parent ''你好呀'' @stop   代码打包: http://files.cnblogs.com/files/luoyunshu/learnlv.zip

关于在laravel项目中根据IP获取省市名称laravel获取客户端ip的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于ASP.NET实现根据IP获取省市地址的方法、Chart.js在Laravel项目中的应用示例、java 根据 ip 地址获取省市、Laravel学习第一天(创建laravel项目、路由、视图、blade模板),laravelblade的相关信息,请在本站寻找。

本文标签:

上一篇asp.net – 使用HTML’readonly =“readonly”’与JavaScript’元素的奇怪行为.readOnly = true;’

下一篇laravel创建响应、设置响应头、重定向等(laravel创建项目)